91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-14
  • 語言: Matlab
  • 標簽: 分支定界??

資源簡介

利用MATLAB實現了分支定界法,內有三個.m文件,含有中文注釋。

資源截圖

代碼片段和文件信息

function?[newxnewfvalstatusnewbound]?=?branchbound(fABIxfvalboundAeqBeqlbube)

%?分支定界法求解整數規劃
%?fABAeqBeqlbub與線性規劃相同
%?I為整數限制變量的向量
%?x為初始解,fval為初始值

options?=?optimset(‘display‘‘off‘);
[x0fval0status0]=linprog(fABAeqBeqlbub[]options);

%遞歸中的最終退出條件
%無解或者解比現有上界大則返回原解
if?status0?<=?0?||?fval0?>=?bound
????newx?=?x;
????newfval?=?fval;
????newbound?=?bound;
????status?=?status0;
????return;
end

%是否為整數解如果是整數解則返回
intindex?=?find(abs(x0(I)?-?round(x0(I)))?>?e);
if?isempty(intindex)
????newx(I)?=?round(x0(I));
????newfval?=?fval0;
????newbound?=?fval0;
????status?=?1;
????return;
end

%當有非整可行解時,則進行分支求解
%此時必定會有整數解或空解
%找到第一個不滿足整數要求的變量
n?=?I(intindex(1));
addA?=?zeros(1length(f));
addA(n)?=?1;
%構造第一個分支?x<=floor(x(n))
A?=?[A;addA];
B?=?[Bfloor(x(n))];
[x1fval1status1bound1]?=?branchbound(fABIx0fval0boundAeqBeqlbube);
A(end:)?=?[];
B(:end)?=?[];
%解得第一個分支,若為更優解則替換,若不是則保持原狀

status?=?status1;
if?status1?>?0?&&?bound1?????newx?=?x1;
????newfval?=?fval1;
????bound?=?fval1;
????newbound?=?bound1;
else
????newx?=?x0;
????newfval?=?fval0;
????newbound?=?bound;
end

%構造第二分支
A?=?[A;-addA];
B?=?[B-ceil(x(n))];
[x2fval2status2bound2]?=?branchbound(fABIx0fval0boundAeqBeqlbube);????
A(end:)?=?[];
B(:end)?=?[];

%解得第二分支,并與第一分支做比較,如果更優則替換
if?status2?>?0?&&?bound2?????status?=?status2;
????newx?=?x2;
????newfval?=?fval2;
????newbound?=?bound2;
end


?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2010-05-25?23:52??運籌學整數規劃分支定界法MATLAB實現(中文注釋)\
?????文件????????1679??2010-05-25?23:34??運籌學整數規劃分支定界法MATLAB實現(中文注釋)\branchbound.m
?????文件????????1294??2010-05-25?23:33??運籌學整數規劃分支定界法MATLAB實現(中文注釋)\intprog.m
?????文件?????????208??2010-05-25?23:51??運籌學整數規劃分支定界法MATLAB實現(中文注釋)\test.m

評論

共有 條評論