@@ -559,13 +559,17 @@ function MOI.delete(model::Optimizer, ci::MOI.ConstraintIndex)
559
559
return
560
560
end
561
561
562
- function _compute_ideal_point (model:: Optimizer )
562
+ function _compute_ideal_point (model:: Optimizer , start_time )
563
563
objectives = MOI. Utilities. eachscalar (model. f)
564
564
model. ideal_point = fill (NaN , length (objectives))
565
565
if ! MOI. get (model, ComputeIdealPoint ())
566
566
return
567
567
end
568
568
for (i, f) in enumerate (objectives)
569
+ if _time_limit_exceeded (model, start_time)
570
+ status = MOI. TIME_LIMIT
571
+ break
572
+ end
569
573
MOI. set (model. inner, MOI. ObjectiveFunction {typeof(f)} (), f)
570
574
MOI. optimize! (model. inner)
571
575
status = MOI. get (model. inner, MOI. TerminationStatus ())
@@ -584,7 +588,7 @@ function MOI.optimize!(model::Optimizer)
584
588
model. termination_status = MOI. INVALID_MODEL
585
589
return
586
590
end
587
- _compute_ideal_point (model)
591
+ _compute_ideal_point (model, start_time )
588
592
algorithm = something (model. algorithm, default (Algorithm ()))
589
593
status, solutions = optimize_multiobjective! (algorithm, model)
590
594
model. termination_status = status
0 commit comments