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.
when solving milp, I got infeasible solution!
Click on the tag ( general integer linear programming), then you will see the code.
why i cannot download it ><
Thank you very much for the code.It saved a lot of my time.For binary integer (0,1) problems , just set the upper and lower bound as 0 and 1.
It was very helpful, Thanks
Thank you very much
how to u use?
thank you very much!
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'.'
some of my variables are binary integers (0 or 1). how can i specify them by using this function?
Does this code work for only 2 variable problems???
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
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.
Can you provide the code for finding 0/1 optimization? Thank you
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)
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.
This is a very good function However m=1 or 2 respectively mean?
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.
IP function is excellent for solving pure integer linear programming problems.
It was very helpful for me as a student.
Only one word, Excellent!
I am an italian student of engineering. Thanks a lot for your Matlab function: it works very good.
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.
i am a teacher from china.
tks a lot.
An example of how to use the function is added
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.