﻿功能:0-1整数线性规划(采用一种分支界定的0-1纯整数规划算法进行求解)

格式:
[Maxf,xv]=LinProg01(f,c,x)

f:符号变量,里面存储目标函函数的表达式(最大值)
c:符号变量,里面存储约束条件,约束条件之间以逗号分隔,注意每个约束条件当中可以使用"≤"、"<="、"=<"、"<"、"≥"、">="、"=>"、">"、"="其中"≤"、"<="、"=<"、"<"均等价,表示小于等于
x:符号变量,存储各个变量的名称,每个名称以逗号分隔

Maxf:返回的最大值
xv:返回对应x的取值

注意:变量x只能取值0或者1,目标函数f里求取的是最大值

参考:{一种分支界定的0-1整数规划算法<http://blog.163.com/shikang999@126/blog/static/1726248962014102913432613/>}

例子:

//求目标函数 z = 20*x1+15*x2+18*x3+14*x4+8*x5+4*x6+10*x7 的最大值，其中满足条件 5*x1+5*x2+2*x3+6*x4+12*x5+2*x6+4*x7<=25 且 x1,x2,x3,x4,x5,x6,x7 只能为整数0或者1

f= "20*x1+15*x2+18*x3+14*x4+8*x5+4*x6+10*x7";
c="5*x1+5*x2+2*x3+6*x4+12*x5+2*x6+4*x7<=25";
x= "x1,x2,x3,x4,x5,x6,x7";
[mf,x0]=LinProg01(f,c,x)//依次执行上面3条命令，然后对本命令回车后得到如下结果,其中目标最大值81,且x里的变量取值依次对应如下x0的解
mf =
[ 81.0000000000000 ]
x0 =
[ 1.00000000000000    1.00000000000000    1.00000000000000    1.00000000000000    0.00000000000000    1.00000000000000    1.00000000000000 ]

//By 2014/11/29 00:02:00