Fix bug: scale rays only once
This commit is contained in:
@@ -540,8 +540,8 @@ int INFINITY_2D_generate_lfree(const struct MultiRowModel *model,
|
||||
|
||||
lfree->nrows = 2;
|
||||
lfree->rays.nrays = nrays;
|
||||
memcpy(f, model->f, 2 * sizeof(double));
|
||||
memcpy(rays, model->rays.values, 2 * nrays * sizeof(double));
|
||||
memcpy(f, model->f, 2 * sizeof(double));
|
||||
for (int i = 0; i < nrays; i++) beta[i] = GREEDY_BIG_E;
|
||||
|
||||
scale = (double*) malloc(nrays * sizeof(double));
|
||||
@@ -721,9 +721,6 @@ int INFINITY_2D_generate_lfree(const struct MultiRowModel *model,
|
||||
if(is_split) break;
|
||||
}
|
||||
|
||||
for(int i=0; i<nrays; i++)
|
||||
beta[i] *= scale[i];
|
||||
|
||||
CLEANUP:
|
||||
if(scale) free(scale);
|
||||
return rval;
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
* LOG_LEVEL_WARNING
|
||||
* LOG_LEVEL_ERROR
|
||||
*/
|
||||
#define LOG_LEVEL LOG_LEVEL_DEBUG
|
||||
#define LOG_LEVEL LOG_LEVEL_INFO
|
||||
|
||||
/*
|
||||
* Maximum bounding-box size for naive algorithm
|
||||
@@ -48,7 +48,7 @@
|
||||
*/
|
||||
#define N_RAYS 100
|
||||
|
||||
#define ONLY_CUT 242
|
||||
#define ONLY_CUT -1
|
||||
|
||||
/*
|
||||
* Time limit for the computation (user time, in seconds).
|
||||
|
||||
@@ -867,7 +867,6 @@ int CG_add_multirow_cuts(struct CG *cg,
|
||||
|
||||
double initial_time = get_user_time();
|
||||
|
||||
SHOULD_DUMP_CUTS = 1;
|
||||
rval = generate(&tableau, &cut);
|
||||
if (rval == ERR_NO_CUT)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user