MATLAB程式設計01規劃問題

2021-03-04 09:33:13 字數 1603 閱讀 7502

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 ...