Closed dreinon closed 3 years ago
I don't get any found optimum, I just get
Found better value: -8552 elapsed time:179.280s
Checking better value <-8552
I'll leave it for 1200 sec (20 min) and see if it gets any better.
I could also add the constraint for debugging but in real life I would need it to be automatic.
Output is:
/xxxx/ProcessScheduler/processscheduler/solver.py:434: UserWarning: time may exceed max time. Stopping iteration.
warnings.warn('time may exceed max time. Stopping iteration.')
total number of iterations: 139
value: -8830
XXXXXXXXXXXXX satisfiability checked in 953.49s
with occupation of 97
Maybe the solver is lost into some kind of local optimum. You can try other logics to see if it is better ("QF_IDL", "QF_UFIDL" or others)
Okay, thanks!
I have tried solving first for utilization objective only and then, solving again, but with a constraint that utilization indicator has to be equal to the previously found value, and with single resource flowtime objectives, and I get a solution with 100% occupation and pretty flowtime optimized :)
Maybe an option for multiobjective incremental optimizer would be to solve for objectives in creation order (equivalent to 'lexicon' option).
I agree, that's something I think about.
Closing this issue and opening one for this new feature #73.
The first issue I have ran into by trying out multiple single resource flowtime objectives is that the value of all of them is the same. For instance, I get the following values: ->Objective values: ->FlowtimeSingleResource(min objective): 9 ->FlowtimeSingleResource(min objective): 9 for this result: where I'm optimizing flowtime between time intervals (11, 20) and (21, 34), so total in-interval flowtime is 0. I implemented a way to calculate this total value that doesn't rely on indicator values though.