资源简介

应用Benders分解算法解决混合整数规划问题

资源截图

代码片段和文件信息

function [OptXOptYOptValue]=BendersDecomposition(CDABb)
% 应用Benders分解算法解决混合整数规划问题
% 调用格式:[OptXOptYOptValue]=BendersDecomposition(CDABb)
% 用来解决如下形式的规划问题:
%         min  C*x+D*y
%         s.t. A*x+B*y>=b; x0-1变量y>=0

%迭代停止的判断阈值:LB/UB大于epsilon时停止迭代。可以根据问题复杂程度灵活调节
epsilon = 0.99;
[nRowAnColA] = size(A);
[nRowBnColB] = size(B);
%step 1:初值化
x0 = zeros(nColA1);%初始值
LB = -1e10;
UB = inf;
p = 0;
q = 0;
U = zeros(100nRowA);
V = zeros(100nRowA);
options = optimset(‘LargeScale‘ ‘off‘ ‘Simplex‘ ‘on‘);
OptionsBint = optimset(‘MaxRLPIter‘100000‘NodeSearchStrategy‘‘bn‘...
    ‘MaxTime‘50000);
while LB/UB    %step 2:求解子问题
    [UorVfvalexitflag] = linprog((A*x0-b)B‘D‘[][]zeros(nRowB1)...
        inf(nRowB1)[]options);
    if exitflag 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1974  2010-02-08 18:20  BendersDecomposition.m
     文件        1034  2012-11-08 16:09  Exaple-Bender.m

评论

共有 条评论