Hi all,

I have two questions:

Q1: What is the best algorithm one can use in CPLEX? I'm trying to tune up CPLEX for better performance.

Q2: If I have: Basic variables: Xij (binary). optional variables: Ti = sum_j Xij.

Is it better to put Ti as integer or as float?

Thank you!

asked 05 Sep '13, 13:02

Taha's gravatar image

accept rate: 0%

Q1: It depends. You might try the built-in tuning tool.

Q2: Usually, it is better to declare variables as continuous if constraints will force them to take integer variables, but there are two difficult-to-predict exceptions I can think of. The virtue of making them continuous is that banning on them is often not productive, and making them continuous prevents the solver from trying to branch on them. The first exception is that sometimes branching on one might actually be beneficial. (I don't recall such a case off-hand, but I'm pretty sure it had happened to me at least once.) The other possible exception is that the CPLEX presolve does some reductions based on the requirement that a variable must be integer. You might lose useful reductions by declaring the variables continuous. (I say "might" because CPLEX may recognize the variables as "implied integer".) A possible compromise is to declare them integer but specify branching priorities so that they are branched on last.


answered 05 Sep '13, 17:23

Paul%20Rubin's gravatar image

Paul Rubin ♦♦
accept rate: 19%

Thank you Paul! For the built-in tuning tool, it doesn't help in giving a better configuration. What always happened to me is that putting the implied variables as continuous has always had a better performance.

(06 Sep '13, 05:42) Taha

I think declaring the implied integer variables as continuous will usually be preferable, especially if you are unable or disinclined to specify branching priorities. That said, if I've learned anything about MIP models, it's that "usually" is not a synonym for "always". :-)

(06 Sep '13, 10:04) Paul Rubin ♦♦

There are some (very) useful advice in Ed Klotz' webcast

Note that whatever is said may not apply to your particular model. It is why you must experiment and check if suggested ideas work for you.


answered 07 Sep '13, 05:59

jfpuget's gravatar image

accept rate: 8%

Thank you so much :)

(07 Sep '13, 06:05) Taha
Your answer
toggle preview

Follow this question

By Email:

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



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



Asked: 05 Sep '13, 13:02

Seen: 1,926 times

Last updated: 07 Sep '13, 06:05

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