This function solves the mixed integer linear programming problems. It uses the linprog.m function that comes with the optimization toolbox of MATLAB. It employs the branch and bound algorithm. It uses depth first search.

Try a large scale Integer linear programming problem (e.g. 100000 variable). Because of rec function you will get the following error.

Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit. Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.

Error in optimget>optimgetfast
is there any way to fix it ?

It does not work for only 2 integer variables. Please bother to at least understand the syntax. M is a vector which denotes the indices of 'x' which are integers.

what datatype do the inputs have to be? I've tried all except 'e' being single, double, int16/32/64, uint16/32/64 with no luck...i keep getting the error message 'Undefined function 'IP1' for input arguments of type 'XXXX'.'

I used the code for a model but I got the following error- Please Comment on the same:

??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
Error in ==> IP>rec at 86
b1=[b;floor(br_value)];
Error in ==> IP at 36
[x,val,status,b]=rec(f,A,b,Aeq,beq,lb,ub,x0,val0,M,e,bound); % a recursive function that processes the BB tree
Error in ==> Full at 573
[x v s]= IP(f,A,b,Aeq,beq,lb,ub,M,e)

I am getting very close to my deadline so a fast solution would be appreciated.

09 Aug 2008

Ez Zaza

Can you provide the code for finding 0/1 optimization? Thank you

13 May 2008

Bojan Oslaj

15 Sep 2007

Arendo B

Many Thanks, but for some example if i chang the arrangment of rows for A(and b) or Aeq(and beq), the result is changed. for exapmle when the A or Aeq are very narrow. (the columns are more than rows)

29 Jun 2007

P Banerjee

I spent 5 days trying to write my code on similar lines to the way bintprog is written and finally I gave up. This free code is simply very good and serves all my purposes.

29 May 2007

Hanen Hanna

22 Jan 2007

akro makro

02 Aug 2006

sun bo

This is a very good function However m=1 or 2 respectively mean?

03 May 2006

3adel Emam

it solves a problem with 2 integer variables only. what if we have more continues or discrete variables?
the other thing is the MILP function has to create and search the whole branch and bound tree,not just two subproblems.

06 Apr 2006

Altaf Alfarhan

IP function is excellent for solving pure integer linear programming problems.
It was very helpful for me as a student.

14 Feb 2006

David Zeng

Only one word, Excellent!

08 Jan 2006

Vincenzo Manzoni

I am an italian student of engineering. Thanks a lot for your Matlab function: it works very good.

04 Sep 2005

Ruoyu Cheng

Based on the solution to several test MILP problems, I would like to say that this function is rather valuable for academic studies on mixed-integer linear programming.
The interested researchers can conveniently modify the file to adapt to their own purposes, .e.g., to incorporate more advanced techniques.

14 Jun 2005

zhang lipu

ok,tks
i am a teacher from china.
tks a lot.
locustzhang@163.com