Dear members,

I have a MIP mathematical model, I want to solve it for many times. For example, the model is

Min CX

s.t.

AX<=B

After each iteration, the parameter B is changed. I do not want the new model to solve again. I know the solution can be found from the previous branch and bound tree. How can I use the previous branch and bound tree and nodes for the new problem?

asked 14 Aug '14, 06:26

hkarimi's gravatar image

hkarimi
5829
accept rate: 0%

If the previous found solutions in the solution pool is still feasible, you should make sure your solver is either reusing them or is trying to repair them. You might also be able to use your knowledge about the problem to fix infeasibilities (if any).

(14 Aug '14, 09:15) Bo Jensen ♦

Dear Jensen, Thanks, How can I use the previous solution pool? Is there any syntax in CPLEX to work with the solution pool?

(14 Aug '14, 09:23) hkarimi
2

I am not a cplex expert, but I assume they reuse the solutions in the pool by default. You can make the changes after the first solve, then check the solution quality of the previous found solutions to see if they stay feasible and with wich objective. Then check if it's consists with the upper bounds from the log output you see from the second run. It's also a good idea to ask in cplex support for pointers on this, they know best :-)

(14 Aug '14, 09:31) Bo Jensen ♦

In general, you can't use the previous branch and bound tree and nodes for this modified problem. Depending on the change in B, there's no way to be sure that the new problem is even integer feasible or that any of the previous integer solutions are still feasible.

link

answered 14 Aug '14, 09:02

Brian%20Borchers's gravatar image

Brian Borchers
1.3k15
accept rate: 21%

Do you have a choice over the order in which you will use the B vectors? That is, are they known in advance? If so, you could work from the most constraining values in every dimension and progressively make less constraining (say, to B'). That way, your initial X values would be feasible (AX <= B <= B') to the subsequent problems, and you could potentially re-use the X values to insert a strongly feasible solution into the subsequent problems. You may want to check CPLEX documentation for "warm start" information.

link

answered 14 Aug '14, 10:55

AndyT's gravatar image

AndyT
6788
accept rate: 7%

Dear Andy, I do not know the B vector value. Its value is determined after each problem. Thanks for the "warm start" keyword.

(14 Aug '14, 12:32) hkarimi
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×71
×14
×8

Asked: 14 Aug '14, 06:26

Seen: 1,326 times

Last updated: 14 Aug '14, 12:32

OR-Exchange! Your site for questions, answers, and announcements about operations research.