matlab語言應用————最優化
第二章0-1規劃
matlab的0-1規劃函式bintprog是針對下述0-1規劃:
2.1)
解0-1規劃(2.1)的0-1規劃函式bintprog表述為
[x, fv, exitflag, output]= bintprog(f,a,b,aeq, beq2.2)
輸入部分:
f為目標函式,實為目標函式的係數。
a為(2.1)中的不等式約束矩陣
b為(2.1)中的不等式約束向量
aeq為(2.1)中的等式約束矩陣
beq(2.1)中的等式約束向量
輸出部分:
x為最優解 fval為最優值
exitflag為輸出標誌 exitflag=1,有最優解 exitflag=0,迭代次數超過設定次數
exitflag==-2,約束區域不可行 exitflag=-3,問題無解
output,表明演算法和迭代情況
如果我們不需要了解迭代情況和儲存情況,可將0-1規劃函式bintprog寫成
[x, fv, ex]= linprog(f,a,b,aeq, beq2.3)
在函式bintprog中,輸入或輸出元素的符號可以變更,如(2.3)中ex仍為輸出標誌,但元素的符號位置不能變更。在輸出部分,如有缺者,可用號代替。
函式bintprog的使用要點與函式linprog的使用要點相同。
函式是為求目標函式的最小值而設定的,如要求函式的最大值,可先求出的最小值,則必為的最大值。
例一用函式bintprog求解下列0-1規劃
用matlab語言程式設計如下:
f=-[1,2,2,-6],-4
a=[3,2,-1,1,2;2,4,-2,-1,-2];
b=[5,5];
[x,fv,ex]=bintprog(f,a,b,,);
x,-fv
求解如下
ex=1,fv=-5, x=[1,1,1,0,0]
例二用函式bintprog求解下列0-1規劃
用matlab語言程式設計如下:
f=[3,7,-1,1]
a=[-2,1,-1,1;-1,1,-6,-4];
a=[a;-5,-3,0,-1]
b=-[1,8,5];
[x,fv,ex]=bintprog(f,a,b,,);
求解如下ex=1,fv=-3, x=[1,0,1,,1]
例三用函式bintprog求解下列0-1規劃
用matlab語言程式設計如下:
f=[15,18,21,19,23,22,26,17,16];
z2=zeros(1,2); z3=zeros(1,3);
z6=zeros(1,6); o3=zeros(1,3);
q=[o3,z6;z3,o3,z3;z6,o3];
q=[q;1,z2, 1,z2, 1,z2];
q=[q;0,1,z2,1,z2,1,0];
q=[q;z2,1, z2,1, z2,1];
bq=ones(6,1)
[x,fv,ex]=bintprog(f,,,q,bq);
求得ex=1,fv=53, x=[0,1,0,1,0,0,0,0,1]
MATLAB程式設計實踐2019
一 實踐目標 回顧複習 科學計算與matlab 課程內容和基本程式設計方法 程式設計實現某一科學計算的演算法,並舉一例應用之和利用matlab自帶函式實現之 程式設計解決科學計算和工程實際問題。二 實踐內容 1.matlab基礎部分內容 完成乙個從檔案 data.txt 中讀取資料,然後做出相關的圖...
matlab選擇結構程式設計答案
實驗三選擇結構程式設計 一 實驗目的 1 掌握建立和執行m檔案的方法。2 掌握利用if語句實現選擇結構的方法。3 掌握利用switch語句實現多分支選擇結構的方法。4 掌握try語句的使用。二 實驗內容 1 求分段函式的值。用if語句實現,分別輸出x 5.0,3.0,1.0,2.0,2.5,3.0,...
MATLAB程式設計實驗報告
一 實驗名稱 實驗4 圖形繪製 1 二 實驗目的 熟悉和掌握matlab基本的二維圖形繪製函式。三 實驗內容 1 繪製簡單的二維圖形 2 乙個座標系繪製多幅圖形 3.圖形標識和座標控制 4.互動式圖形指令 四 回答問題 本次實驗未預留問題 五 遇到的問題及解決 遇到了求y lnx時,輸入 y ln ...