matlab求解下面的線性規劃和整數規劃

matlab求解下面的線性規劃和整數規劃

  本篇博客主要講了用matlab實際求解整數規劃問題,目前還沒有時間去自己實現整數規劃算法,只能通過調用MATLAB的函數去實現。

題目

這裏寫圖片描述

代碼

第一小題

%線性規劃代碼
%author Canlong
f=[-3,-2];
A=[2,3;1,0.5];
b=[14;4.5];
C=[];
d=[];
xm=[0;0];
xM=1e+10*[1;1];
x0=[0,0];
%f,代表目標函數係數,A自變量係數矩陣,b,右邊的目標值矩陣,xm自變量最小值,
%xM自變量最大值,x0初值。
 [x,y]=linprog(f,A,b,C,d,xm,xM,x0)

運行得到x1=3.25,x2=2.5 。y=14.75
第二小題

%整數規劃代碼
%author Canlong
f=[-3,-2];
A=[2,3;1,0.5];
b=[14;4.5];
C=[];
d=[];
xm=[0;0];
xM=1e+10*[1;1];
x0=[0;0];
%intlinprog 函數,用於進行整數規劃和整數非整數的混合規劃
[x,y,flag]=intlinprog(f,[1,2],A,b,C,d,xm,xM)

運行得到,x1=4,x2=1,y=14
這裏需要說明一下的是,matlab較新的版本中纔會有intlinprog。編者在這裏用的MATLAB 7.0.

總結

  用MATLAB求解整數規劃的函數爲intlinprog,求解線性規劃的函數是linprog.不過在實驗中,在得到y的值的時候,要注意求解得到的y的值是原來應該求解y 的值的負值,因爲原來求解的是最大值。一不小心這個細節方面的問題很容易就會出錯。然後整數規劃中的intlinprog函數要注意的主要是第二個參數是intcon,代表的是intcon的意義爲整數約束變量的位置。

發佈了45 篇原創文章 · 獲贊 58 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章