How to find all possible optimal solutions for an ILP-Problem (Workforce scheduling problem)?
AnsweredHere is the Workforce Scheduling Problem
Decision Variables
Xi : Number of workers per shift (i=1,…,7)
Objective function
Minimum: 680X1 +705X2 +705X3 +705X4 +705X5 +680X6 +655X7
Constraints
Sunday: 0X1 + 1X2 + 1X3 + 1X4 + 1X5 + 1X6 + 0X7 >= 18
Monday: 0X1 + 0X2 + 1X3 + 1X4 + 1X5 + 1X6 + 1X7 >= 27
Tuesday: 1X1 + 0X2 + 0X3 + 1X4 + 1X5 + 1X6 + 1X7 >= 22
Wednesday: 1X1 + 1X2 + 0X3 + 0X4 + 1X5 + 1X6 + 1X7 >= 26
Thursday: 1X1 + 1X2 + 1X3 + 0X4 + 0X5 + 1X6 + 1X7 >= 25
Friday: 1X1 + 1X2 + 1X3 + 1X4 + 0X5 + 0X6 + 1X7 >= 21
Saturday: 1X1 + 1X2 + 1X3 + 1X4 + 1X5 + 0X6 + 0X7 >= 19
Non Negativity
xi >= 0 natural numbers (i= 1,...,7)
I’m using JULIA 1.5.2 with JuMP (v.o.21.5) and Gurobi 9.0.3
Gurobi calculates one possible correct optimal solution for the ILP-problem. But there exist other optimal solutions. How can I find all optimal integer solutions?
-
Official comment
This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum. Or why not try our AI Gurobot?. -
Hi Manfred,
Gurobi can find the \(N\) best possible solution for a given problem. Please have a look at our documentation on Finding Multiple Solutions and in particular at the PoolSearchMode parameter.
Please note that finding all optimal solutions is just not practicable. In order to find as many solutions as possible, you could set \(N\) to a very large value and set a TimeLimit to make Gurobi stop after a certain amount of time has passed.
Best regards,
Jaromił1 -
Thank you Jaromil, this remark helps.
Best regards
Manfred
0
Post is closed for comments.
Comments
3 comments