@@ -341,7 +341,7 @@ HighsStatus solveUnconstrainedLp(const HighsOptions& options, const HighsLp& lp,
341341 return HighsStatus::kOk ;
342342}
343343
344- void assessExcessiveBoundCost (const HighsLogOptions log_options ,
344+ void assessExcessiveBoundCost (const HighsOptions options ,
345345 const HighsModel& model) {
346346 auto assessFiniteNonzero = [&](const double value, double & min_value,
347347 double & max_value) {
@@ -352,6 +352,7 @@ void assessExcessiveBoundCost(const HighsLogOptions log_options,
352352 }
353353 };
354354 const HighsLp& lp = model.lp_ ;
355+ const HighsLogOptions& log_options = options.log_options ;
355356 double min_finite_col_cost = kHighsInf ;
356357 double max_finite_col_cost = -kHighsInf ;
357358 double min_finite_col_bound = kHighsInf ;
@@ -403,7 +404,7 @@ void assessExcessiveBoundCost(const HighsLogOptions log_options,
403404 // max_finite_col_cost = 0
404405 assert (max_finite_col_cost >= 0 );
405406 if (max_finite_col_cost > kExcessivelyLargeCostValue ) {
406- double user_cost_scale_value = std::pow (2 , lp. user_cost_scale_ );
407+ double user_cost_scale_value = std::pow (2 , options. user_cost_scale );
407408 // Warn that costs are excessively large, and suggest scaling
408409 double ratio = kExcessivelyLargeCostValue /
409410 (max_finite_col_cost / user_cost_scale_value);
@@ -413,15 +414,15 @@ void assessExcessiveBoundCost(const HighsLogOptions log_options,
413414 log_options, HighsLogType::kWarning ,
414415 " %s has excessively large costs: consider scaling the costs "
415416 " by 1e%+1d or less, or setting option user_cost_scale to %d or less\n " ,
416- lp. user_cost_scale_ ? " User-scaled problem" : " Problem" ,
417+ options. user_cost_scale ? " User-scaled problem" : " Problem" ,
417418 int (-suggested_cost_scale_exponent),
418419 int (suggested_user_cost_scale_setting));
419420 }
420421 // LPs with no columns or no finite nonzero bounds will have
421422 // max_finite_col_bound = 0
422423 assert (max_finite_col_bound >= 0 );
423424 if (max_finite_col_bound > kExcessivelyLargeBoundValue ) {
424- double user_bound_scale_value = std::pow (2 , lp. user_bound_scale_ );
425+ double user_bound_scale_value = std::pow (2 , options. user_bound_scale );
425426 // Warn that bounds are excessively large, and suggest scaling
426427 double ratio = kExcessivelyLargeBoundValue /
427428 (max_finite_col_bound / user_bound_scale_value);
@@ -432,15 +433,15 @@ void assessExcessiveBoundCost(const HighsLogOptions log_options,
432433 log_options, HighsLogType::kWarning ,
433434 " %s has excessively large bounds: consider scaling the bounds "
434435 " by 1e%+1d or less\n " ,
435- lp. user_bound_scale_ ? " User-scaled problem" : " Problem" ,
436+ options. user_bound_scale ? " User-scaled problem" : " Problem" ,
436437 int (-suggested_bound_scale_exponent));
437438 } else {
438439 highsLogUser (
439440 log_options, HighsLogType::kWarning ,
440441 " %s has excessively large bounds: consider scaling the bounds "
441442 " by 1e%+1d or less, "
442443 " or setting option user_bound_scale to %d or less\n " ,
443- lp. user_bound_scale_ ? " User-scaled problem" : " Problem" ,
444+ options. user_bound_scale ? " User-scaled problem" : " Problem" ,
444445 int (-suggested_bound_scale_exponent),
445446 int (suggested_user_bound_scale));
446447 }
@@ -449,7 +450,7 @@ void assessExcessiveBoundCost(const HighsLogOptions log_options,
449450 // max_finite_row_bound = 0
450451 assert (max_finite_row_bound >= 0 );
451452 if (max_finite_row_bound > kExcessivelyLargeBoundValue ) {
452- double user_bound_scale_value = std::pow (2 , lp. user_bound_scale_ );
453+ double user_bound_scale_value = std::pow (2 , options. user_bound_scale );
453454 // Warn that bounds are excessively large, and suggest scaling
454455 double ratio = kExcessivelyLargeBoundValue /
455456 (max_finite_row_bound / user_bound_scale_value);
@@ -460,23 +461,23 @@ void assessExcessiveBoundCost(const HighsLogOptions log_options,
460461 log_options, HighsLogType::kWarning ,
461462 " %s has excessively large bounds: consider scaling the bounds "
462463 " by 1e%+1d or less\n " ,
463- lp. user_bound_scale_ ? " User-scaled problem" : " Problem" ,
464+ options. user_bound_scale ? " User-scaled problem" : " Problem" ,
464465 int (-suggested_bound_scale_exponent));
465466 } else {
466467 highsLogUser (
467468 log_options, HighsLogType::kWarning ,
468469 " %s has excessively large bounds: consider scaling the bounds "
469470 " by 1e%+1d or less, "
470471 " or setting option user_bound_scale to %d or less\n " ,
471- lp. user_bound_scale_ ? " User-scaled problem" : " Problem" ,
472+ options. user_bound_scale ? " User-scaled problem" : " Problem" ,
472473 int (-suggested_bound_scale_exponent),
473474 int (suggested_user_bound_scale));
474475 }
475476 }
476477 // Now consider warning relating to small maximum costs and bounds
477478 if (max_finite_col_cost > 0 &&
478479 max_finite_col_cost < kExcessivelySmallCostValue ) {
479- double user_cost_scale_value = std::pow (2 , lp. user_cost_scale_ );
480+ double user_cost_scale_value = std::pow (2 , options. user_cost_scale );
480481 // Warn that costs are excessively small, and suggest scaling
481482 double ratio = kExcessivelySmallCostValue /
482483 (max_finite_col_cost / user_cost_scale_value);
@@ -487,13 +488,13 @@ void assessExcessiveBoundCost(const HighsLogOptions log_options,
487488 " %s has excessively small costs: consider scaling the costs up "
488489 " by 1e%+1d or more, "
489490 " or setting option user_cost_scale to %d or more\n " ,
490- lp. user_cost_scale_ ? " User-scaled problem" : " Problem" ,
491+ options. user_cost_scale ? " User-scaled problem" : " Problem" ,
491492 int (suggested_cost_scale_exponent),
492493 int (suggested_user_cost_scale_setting));
493494 }
494495 if (max_finite_col_bound > 0 &&
495496 max_finite_col_bound < kExcessivelySmallBoundValue ) {
496- double user_bound_scale_value = std::pow (2 , lp. user_bound_scale_ );
497+ double user_bound_scale_value = std::pow (2 , options. user_bound_scale );
497498 // Warn that bounds are excessively small, and suggest scaling
498499 double ratio = kExcessivelySmallBoundValue /
499500 (max_finite_col_bound / user_bound_scale_value);
@@ -504,21 +505,21 @@ void assessExcessiveBoundCost(const HighsLogOptions log_options,
504505 log_options, HighsLogType::kWarning ,
505506 " %s has excessively small bounds: consider scaling the bounds "
506507 " by 1e%+1d or more\n " ,
507- lp. user_bound_scale_ ? " User-scaled problem" : " Problem" ,
508+ options. user_bound_scale ? " User-scaled problem" : " Problem" ,
508509 int (suggested_bound_scale_exponent));
509510 } else {
510511 highsLogUser (
511512 log_options, HighsLogType::kWarning ,
512513 " %s has excessively small bounds: consider scaling the bounds "
513514 " by 1e%+1d or more, "
514515 " or setting option user_bound_scale to %d or more\n " ,
515- lp. user_bound_scale_ ? " User-scaled problem" : " Problem" ,
516+ options. user_bound_scale ? " User-scaled problem" : " Problem" ,
516517 int (suggested_bound_scale_exponent), int (suggested_user_bound_scale));
517518 }
518519 }
519520 if (max_finite_row_bound > 0 &&
520521 max_finite_row_bound < kExcessivelySmallBoundValue ) {
521- double user_bound_scale_value = std::pow (2 , lp. user_bound_scale_ );
522+ double user_bound_scale_value = std::pow (2 , options. user_bound_scale );
522523 // Warn that bounds are excessively small, and suggest scaling
523524 double ratio = kExcessivelySmallBoundValue /
524525 (max_finite_row_bound / user_bound_scale_value);
@@ -529,15 +530,15 @@ void assessExcessiveBoundCost(const HighsLogOptions log_options,
529530 log_options, HighsLogType::kWarning ,
530531 " %s has excessively small bounds: consider scaling the bounds "
531532 " by 1e%+1d or more\n " ,
532- lp. user_bound_scale_ ? " User-scaled problem" : " Problem" ,
533+ options. user_bound_scale ? " User-scaled problem" : " Problem" ,
533534 int (suggested_bound_scale_exponent));
534535 } else {
535536 highsLogUser (
536537 log_options, HighsLogType::kWarning ,
537538 " %s has excessively small bounds: consider scaling the bounds "
538539 " by 1e%+1d or more, "
539540 " or setting option user_bound_scale to %d or more\n " ,
540- lp. user_bound_scale_ ? " User-scaled problem" : " Problem" ,
541+ options. user_bound_scale ? " User-scaled problem" : " Problem" ,
541542 int (suggested_bound_scale_exponent), int (suggested_user_bound_scale));
542543 }
543544 }
0 commit comments