规划求解整数线性讲解实例(求解规划整数线性讲解)「线性规划整数解问题」

前面讲解了Excel求解一些简单的线性规划,操作比较简单,适合电脑中没有安装MATLAB、Lingo、Python等编程求解规划的软件。
今天实际的例子讲解Excel简单的线性整数规划和0-1规划,并用MATLAB规划求解函数验证结果。
1.整数线性规划实例Step1:新建一个excel文件,在任意空白区域输入模型的目标函数和约束条件。
Step2:按照文字描述将模型转化为excel规划模型,没有的项,其系数为0。
Step3:将目标函数值处H25单元格的计算公式输入目标函数计算式。
=H16H23+I16H24+J16Step4:将约束条件左半部分的计算公式输入对应的单元格。

规划求解整数线性讲解实例(求解规划整数线性讲解)

K18单元格输入的公式=H23H18+H24I18K19单元格输入的公式=H19H23+I19H24K20单元格输入的公式=H20H23+I20H24K21单元格输入的公式=H21H23+I21H24Step5:利用Excel规划求解工具求解,点击数据->右上角的规划求解,弹出以下对话框。
我们首先将目标函数计算值的单元格选入为“设置目标”,同时将x1,x2的变量取值处的单元格选择为“通过更改可变单元格”。
其次,我们要添加我们的约束条件,点击添加,弹出以下对话框。
例如我们将第一个约束条件添加到规划求解工具箱中,操作如下:选择不等式约束的左边计算公式和右边常数部分,并按照约束条件选择关系符号,点击添加,即可将约束条件添加成功。
其余约束条件以此类推。
设置整数变量的约束条件,选择变量x1的值的H23单元格,设置选择为int,点击添加即可设置x1为整数变量。
选择变量x2的值的H24单元格,设置选择为int,点击添加即可设置x1为整数变量。
选择对应的计算方法非线性GRE或者单纯线性规划的方法求解,选择方法之后点击求解按键。
Step6:获得规划求解结果Step7:MATLAB编程求解该线性规划,检验Excel求解结果与MATLAB求解结果是否一致。
程序clc;clear all;f=[-5 -8];A=[1 1;5 9];b=[6 45];lb=zeros(2,1);intcon=[1 2];[x,fval]=intlinprog(f,intcon,A,b,[],[],lb,[]);x,fval=-fval运行结果LP: Optimal objective value is -41.250000. Heuristics: Found 1 solution using ZI round. Upper bound is -39.000000. Relative gap is 2.50%. Cut Generation: Applied 1 Gomory cut. Lower bound is -40.000000. Relative gap is 0.00%. Optimal solution found.Intlinprog stopped at the root node because the objective value is within a gap tolerance of the optimal value,options.AbsoluteGapTolerance = 0 (the default value). The intcon variables are integer within tolerance,options.IntegerTolerance = 1e-05 (the default value).x = 0 5fval = 40>>2.0-1线性规划实例excel求解0-1线性规划的步骤和求解整数规划的步骤差不多,唯一区别就是对于变量值的约束选择为bin约束。
MATLAB编程验证结果程序clc;clear all;f=[-6 -2 -3 -5];A=[-3 5 -1 -6;2 1 1 -1;1 2 4 5];b=[-4 3 10]';intcon=[1 2 3 4];lb=zeros(4,1);ub=ones(4,1);[x,fval]=intlinprog(f,intcon,A,b,[],[],lb,ub);x,fval=-fval运行结果LP: Optimal objective value is -14.500000. Heuristics: Found 1 solution using ZI round. Upper bound is -13.000000. Relative gap is 0.00%. Optimal solution found.Intlinprog stopped at the root node because the objective value is within a gap tolerance of the optimal value,options.AbsoluteGapTolerance = 0 (the default value). The intcon variables are integer within tolerance,options.IntegerTolerance = 1e-05 (the default value).x = 1 0 1 1fval = 14>>

联系我们

在线咨询:点击这里给我发消息