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

Constraints reuse #919

Closed
rotcx opened this issue Nov 3, 2018 · 8 comments
Closed

Constraints reuse #919

rotcx opened this issue Nov 3, 2018 · 8 comments
Assignees
Labels
Help Needed Modeling/Usage problem Solver: CP-SAT Solver Relates to the CP-SAT solver
Milestone

Comments

@rotcx
Copy link

rotcx commented Nov 3, 2018

Comparing to the "define solver -> solver.makeConstraint" way, the "define a constraint -> add the constraint to a model/solver" way made constraints reusable?

When the overall model is complex and difficult to solver directly, constraint reuse is usual by iteratively solve two decomposed models with (largely) overlapped constraints.

Is it possible?

@lperron
Copy link
Collaborator

lperron commented Nov 5, 2018 via email

@Mizux Mizux added Help Needed Modeling/Usage problem Solver: CP-SAT Solver Relates to the CP-SAT solver labels Nov 28, 2018
@lperron
Copy link
Collaborator

lperron commented Dec 11, 2018

I will close the issue. Please reopen if you need help.

@lperron lperron closed this as completed Dec 11, 2018
@rotcx
Copy link
Author

rotcx commented Dec 19, 2018

I was using the MILP wrapper/solver.

For instance, in GAMS we can define that the model consists several constraints, where constraints are reusable in other models.

https://www.gams.com/latest/gamslib_ml/libhtml/gamslib_gapmin.html
Model assign 'original assignment model' / capacity, choice, defz /;
Model pknap / knapsack, defzlrx /;

@lperron
Copy link
Collaborator

lperron commented Dec 19, 2018 via email

@rotcx
Copy link
Author

rotcx commented Dec 20, 2018

Are you planning to develop the following feature? It strongly adds applicability.

Comparing to the "define solver -> solver.makeConstraint" way, the "define
a constraint -> add the constraint to a model/solver" way made constraints
reusable?

When the overall model is complex and difficult to solver directly,
constraint reuse is usual by iteratively solve two decomposed models with
(largely) overlapped constraints.

@lperron
Copy link
Collaborator

lperron commented Dec 20, 2018 via email

@rotcx
Copy link
Author

rotcx commented Sep 30, 2019

https://amsterdamoptimization.com/pdf/benders.pdf

Here is an example.

GAMS uses: model /constraints 1, constraints, ... /
to flexibly define models/sub models/relaxed models ... in a word, models with different constraints to implement decomposition / iteration algorithms of "hard" problems.

@lperron
Copy link
Collaborator

lperron commented Sep 30, 2019 via email

@Mizux Mizux added this to the v8.0 milestone Feb 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Help Needed Modeling/Usage problem Solver: CP-SAT Solver Relates to the CP-SAT solver
Projects
None yet
Development

No branches or pull requests

3 participants