整数规划可以分为线性整数规划和非线性整数规划,其中线性整数规划可用Matlab进行求解,线性的意思是指在线性规划的基础上,加入决策变量取整数的条件;非线性整数规划的求解无特定的算法,只能用近似算法,如蒙特卡洛模拟、智能算法等。
0-1规划是特殊的整数规划,Matlab也只能求解线性0-1规划,对于非线性0-1规划也只能近似求解。
(1) Matlab线性整数规划求解
[x,fval]=linprog(c, A, B, Aeq, beq, lb, ub, x0)——线性规划的函数
[x, fval]=intlinprog(c, intcon, A, b, Aeq, beq, lb, ub)——线性整数规划的求解
注意:①intlinprog不能指定初始值;②加入了intcon参数可以指定哪些决策变量是整数
(2) Matlab线性0-1规划求解