hinter solution feasible at presolve, but infeasible at preload

88 views
Skip to first unread message

YINXIONG CHEN

unread,
Aug 22, 2025, 4:24:52 AMAug 22
to or-tools-discuss
I am using cp.SAT 9.13, cpModel and cpSolver for a scheduling problem. Basically is to schedule jobs to workers. There are 6 objectives, their weighted sum is the final objective. 

To speed up, I firstly optimized 5 objectives. Get a solution from minimizing the weighted sum of the 5 objectives. The solution becomes the hinter to the next solver.
Secondly, optimize weighted sum of 6 objectives together. Models are exactly the same. The additional objective in the 2nd step is the sum(work start of every jobs), try to schedule the work earlier in the span.

Why adding additional objective will cause infeasible? It is not additional constraint.

Log as below, 
Starting presolve at 0.01s
The solution hint is complete and is feasible. Its objective value is 1.20001067e+10.
...
Preloading model.
#Bound   0.58s best:inf   next:[-4800,4.80002712e+10] initial_domain
The solution hint is complete, but it is infeasible! we will try to repair it.
#Model   0.58s var:1708/1708 constraints:2650/2650

Starting search at 0.58s with 8 workers.
6 full problem subsolvers: [core, default_lp, max_lp_sym, no_lp, quick_restart, reduced_costs]
2 first solution subsolvers: [fj, fs_random_no_lp]
12 interleaved subsolvers: [feasibility_pump, graph_arc_lns, graph_cst_lns, graph_dec_lns, graph_var_lns, ls, rins/rens, rnd_cst_lns, rnd_var_lns, scheduling_intervals_lns, scheduling_precedences_lns, scheduling_time_window_lns]
3 helper subsolvers: [neighborhood_helper, synchronization_agent, update_gap_integral]
1 ignored subsolver: [fixed]
#1       0.72s best:3.60000267e+10 next:[-4800,3.60000267e+10] fj_restart_decay_perturb(batch:1 lin{mvs:404 evals:2'206} gen{mvs:559 evals:1'770} #w_updates:167 #perturb:0)

YINXIONG CHEN

unread,
Aug 22, 2025, 9:13:16 AMAug 22
to or-tools-discuss
I forgot to mention one more question. The next solver with hinter solution never start with hinter solution, it starts from scratch. 
I print the value of every objective in each search in the log. So I can see the unscheduled jobs objective always starts from the largest number. But I try to minimize it.
Why is that?

Laurent Perron

unread,
Aug 22, 2025, 10:07:31 AMAug 22
to or-tools...@googlegroups.com
so try with 9.14
Laurent Perron | Operations Research | lpe...@google.com | (33) 1 42 68 53 00



--
You received this message because you are subscribed to the Google Groups "or-tools-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to or-tools-discu...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/or-tools-discuss/54f44a56-818c-4de6-ac3e-fe7ecd1cbfc3n%40googlegroups.com.

Ruihua Zhang

unread,
Aug 22, 2025, 10:08:12 AMAug 22
to or-tools...@googlegroups.com
good job

YINXIONG CHEN <yinxio...@gmail.com> 于2025年8月22日周五 16:24写道:
--
You received this message because you are subscribed to the Google Groups "or-tools-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to or-tools-discu...@googlegroups.com.

YINXIONG CHEN

unread,
Aug 25, 2025, 3:12:12 AMAug 25
to or-tools-discuss
It works perfectly with 9.14. Thanks, Laurent.

I set
solver.parameters.keep_all_feasible_solutions_in_presolve = True
solver.parameters.hint_conflict_limit = 20
solver.parameters.repair_hint = True

Are there any other setting I need to pay attention to?

Laurent Perron

unread,
Aug 25, 2025, 12:37:32 PMAug 25
to or-tools-discuss
Do you need any of these with 9.14 ?

--Laurent


YINXIONG CHEN

unread,
Aug 27, 2025, 2:57:29 AMAug 27
to or-tools...@googlegroups.com
Hi Laurent

If I don't set solver.parameters.keep_all_feasible_solutions_in_presolve = True, hunter solution will not pass to the next solver run with 9.14. I tested. 
The other two is for any infeasible hunter solution, just in case.

You received this message because you are subscribed to a topic in the Google Groups "or-tools-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/or-tools-discuss/pPMcmritG3s/unsubscribe.
To unsubscribe from this group and all its topics, send an email to or-tools-discu...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/or-tools-discuss/CAPyyUTv%2B-2cGfHQwZXtT%2BJq712byFzTPX%2BUhL%2BD0Jzt7X6h_9A%40mail.gmail.com.

Laurent Perron

unread,
Aug 27, 2025, 9:54:10 AMAug 27
to or-tools...@googlegroups.com
can you send me the proto of the model ?
Laurent Perron | Operations Research | lpe...@google.com | (33) 1 42 68 53 00


YINXIONG CHEN

unread,
Aug 28, 2025, 3:25:35 AMAug 28
to or-tools...@googlegroups.com
Hi Laurent

I am sorry I cannot share the model because I built it for a project in my company. :(

Reply all
Reply to author
Forward
0 new messages