Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support Gurobi or CPLEX‘s multi-objective interface?’ #3351

Open
qtbgo opened this issue Jun 21, 2022 · 9 comments
Open

support Gurobi or CPLEX‘s multi-objective interface?’ #3351

qtbgo opened this issue Jun 21, 2022 · 9 comments
Assignees
Labels
Feature Request Missing Feature/Wrapper Solver: CPLEX CPLEX Solver related issue Solver: Gurobi GUROBI Solver related issue
Milestone

Comments

@qtbgo
Copy link

qtbgo commented Jun 21, 2022

Hi, I wonder if ortools support gurobi's multi-objective interface, see https://www.gurobi.com/documentation/9.5/refman/multiple_objectives.html.

If not, could we extend ortools to support it.

@Mizux Mizux added Feature Request Missing Feature/Wrapper Solver: Gurobi GUROBI Solver related issue Solver: XPRESS XPRESS Solver related issue labels Jun 21, 2022
@Mizux Mizux self-assigned this Jun 21, 2022
@Mizux Mizux added this to the v10.0 milestone Jun 21, 2022
@lperron
Copy link
Collaborator

lperron commented Jun 21, 2022

It will not come with the linear_solver API as the API does not support multi-objective natively.
I suppose it will come with math_opt. But do not hold your breath.

CPLEX is community based only (and there is no CPLEX team anymore). So we will not touch it, but accept PR.

@Mizux Mizux changed the title support gurobi or clpex‘s multi-objective interface?’ Jun 21, 2022
@TueChristensen
Copy link

At least CPLEX's multiobjective functionality is extremely basic so you are not missing out on much. I would argue that you can implement it yourself in day or two by gathering solutions, creating a new problem with a new objective and parse the solutions to the new instance.

I don't have experience with Gurobi.

Completely off-topic, @lperron do you have anything (un)official that the CPLEX team at IBM has been disbanded?

@lperron
Copy link
Collaborator

lperron commented Jul 13, 2022 via email

@TueChristensen
Copy link

You can check Twitter post from j. f. Puget. I do not know if anything was announced. Le mer. 13 juil. 2022, 01:11, Tue Christensen @.> a écrit :

At least CPLEX's multiobjective functionality is extremely basic so you are not missing out on much. I would argue that you can implement it yourself in day or two by gathering solutions, creating a new problem with a new objective and parse the solutions to the new instance. I don't have experience with Gurobi. Completely off-topic, @lperron https://github.com/lperron do you have anything (un)official that the CPLEX team at IBM has been disbanded? — Reply to this email directly, view it on GitHub <#3351 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACUPL3ISBPPXMI24UZJJH2LVTZ233ANCNFSM5ZLWI6UA . You are receiving this because you were mentioned.Message ID: @.
>

Alright, I will check.

Thank you for the quick reply

@lperron lperron added Solver: CPLEX CPLEX Solver related issue and removed Solver: XPRESS XPRESS Solver related issue labels Sep 2, 2022
@lperron
Copy link
Collaborator

lperron commented Nov 22, 2022

It will not happen in MPSolver as it is in maintenance mode.
It will most likely not happen in ModelBuilder as the API is meant to be minimal.
It will not happen with CPLEX, unless somebody contributes the code.

It is ongoing in math_opt. But currently, MathOpt is C++/Bazel only (and doesn't support CPLEX at all and it is currently not planned, aka you want it you PR it...).

@ceandrade
Copy link

Is it possible that the multi-objective (with strict lexicographical ordering from CPLEX and Gurobi, as commented in this thread) comes to the CP-SAT solver itself?

To be clear, I understand that the community must implement support for MIP based on Gurobi or CPLEX backends. My question is about the native CP-SAT within OR tools.

I have a situation where I have five objective functions to be optimized in a strict order. However, I have only 3 minutes for each run. So, strategies like "solve Obj. Func 1", then set a cut/hint, then "solve Obj. Func 2", and so doesn't work very well for me. And the linear combination of the objective functions is not in the plate either since I got MODEL_INVALID due to a potential integer overflow.

@lperron
Copy link
Collaborator

lperron commented May 16, 2023 via email

@Mizux Mizux modified the milestones: v10.0, Backlog May 17, 2023
@ceandrade
Copy link

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request Missing Feature/Wrapper Solver: CPLEX CPLEX Solver related issue Solver: Gurobi GUROBI Solver related issue
5 participants