0

I am solving an optimization problem. the problem has binary constraints. solver is (during iteration) setting those binary constraints to decimals between 0 and 1 (approximating a relaxed gradient search). I wish to indicate to solver that it should just search over the discontinous values for 0..1.

Is there a way to do this?

Alternatively, is there an algorithm in OpenSolver which does this, that mimics the simplex-lp, and provides a global optimum?

the cheap way to do it, is to right a for-loop, and iterate over the values. I was wondering if there was a way to phrase it so that a nonlinear problem, becomes a linear problem.

Thanks.

paulgrant999
  • 11
  • 1
  • 2
  • Solver allows `bin` constraints. Make sure to select `Simplex LP` solver if your model is linear. Even though it is called Simplex LP it will actually solve MIP (Mixed Integer Programming) problems. – Erwin Kalvelagen Jun 09 '16 at 06:00
  • When it fails, it is often with partial values, indicating the binary constraint, is a constraint applied AFTER the gradient descent (values > 0, and < 1). I am asking, is there a linear (MILP) solver that allows true boolean values i.e. ones that are discontinuously 0, or 1. – paulgrant999 Jun 10 '16 at 08:04
  • Gradient descent? That makes no sense to me. Make sure to select Simplex LP and not GRG Nonlinear. Also make sure to inspect the Answer Report carefully. – Erwin Kalvelagen Jun 10 '16 at 10:24

1 Answers1

0

The GRG Nonlinear and Simplex LP methods both use the Branch & Bound method when faced with integer constraints. This method "relaxes" the integer requirement first, finds a solution, then fixes one of the constraints to an integer and finds a new solution. See the Solver on-line documentation.

It is a brute force search method and can take a considerable amount of time.

The Evolutionary method uses it's own algorithm for dealing with integer constraints and is typically much faster than the other two methods.

You ask about linearizing a non-linear problem - you would need to provide more specific information in order to answer that (e.g. What is your equation? How have you set up your solver problem? etc.)

OldUgly
  • 2,129
  • 3
  • 13
  • 21
  • "This method "relaxes" the integer requirement first, finds a solution" .... Yes I know this. I'm asking if there is an engine for solving MIP/Simplex problems with true binary constraints i.e. fields which can only take the value of 0 or 1, and ARE NOT relaxed during the iterative solution. – paulgrant999 Jul 05 '16 at 08:34
  • From [here](http://www.solver.com/mixed-integer-constraint-technology) it says, for Evolutionary method: "... integer variables and permutations are represented directly, and candidate solutions are generated that always satisfy integer and alldifferent constraints." – OldUgly Jul 05 '16 at 18:06