Matlab隨筆之指派問題的整數規劃

2021-09-19 22:23:22 字數 971 閱讀 7189

原文:

matlab隨筆之指派問題的整數規劃

注:除了指派問題外,一般的整數規劃問題無法直接利用matlab函式,必須matlab程式設計實現分支定界法和割平面解法。

常用lingo等專用軟體求解整數規劃問題。

%指派矩陣為 

% 3, 8, 2,10, 3

% 8, 7, 2, 9, 7

% 6, 4, 2, 7, 5

% 8, 4, 2, 3, 5

% 9,10, 6, 9,10

% %解題過程

c=[3 8 2 10 3;

8 7 2 9 7;

6 4 2 7 5;

8 4 2 3 5;

9 10 6 9 10];%指派矩陣

c=c(:);%將矩陣c按列拉直,然後賦給c,

%例如矩陣c=[1 ,2,3;4,5,6],操作完後就是列向量1,4,2,5,3,6

a=zeros(10,25);

for i=1:5

a(i,(i-1)*5 + 1:5*i)=1;

a(5+i,i:5:25)=1;

end

b=ones(10,1);

[x,y]=bintprog(c,,,a,b);%解決二進位制整數規劃問題的函式

x=reshape(x,[5,5])%reshape函式重新調整矩陣的行數、列數、維數

y

執行結果

x =

0 0 0 0 1

0 0 1 0 0

0 1 0 0 0

0 0 0 1 0

1 0 0 0 0

y = 21

Matlab隨筆之指派問題的整數規劃

注 除了指派問題外,一般的整數規劃問題無法直接利用matlab函式,必須matlab程式設計實現分支定界法和割平面解法。常用lingo等專用軟體求解整數規劃問題。指派矩陣為 3,8,2,10,3 8,7,2,9,7 6,4,2,7,5 8,4,2,3,5 9,10,6,9,10 解題過程 c 3 8...

指派問題 MATLAB實現

適用於任意n階係數矩陣 clear all c 2 1513 4 10414 15 9 1416 13 7811 9 效率矩陣c n size c,1 計算c的行列數n c c 計算目標函式係數,將矩陣c按列排成乙個列向量即可。a b 沒有不等式約束 ae zeros 2 n,n 2 計算等約束的係...

Matlab 列舉法求解指派問題

例 有乙份中文說明書,需譯成英 日 德 俄四種文字,分別記作e,j,g,r,現有甲 乙 丙 丁四人,他們將中文說明書翻譯成不同語種的說明書所需時間如下表所示。問應指派何人去完成何工作,使所需時間最少?人員任 務ej gr甲2 15134乙 1041415丙9 141613丁 78119 指派問題是0...