用MATLAB求解線性規劃問題怎麼程式設計

2021-03-03 21:02:46 字數 1530 閱讀 7177

1樓:匿名使用者

基本是利用linprog函式,簡單給你介紹一下這個函式:

首先將線性規劃問題化為標準型:

min z=cx

s.t. a1x<=b1 a2x=b2 v1<=x<=v2

然後利用指令[x,fv,ef,out,lambda]=linprog(c,a1,b1,a2,b2,v1,v2,x0,opt)

即可。不需要設定的部分可以省略。

針對你的問題,對應標準型的矩陣設定為:

z=-[2 5 0 0 0];

%a1和b1不需要設定

a2=[1 0 1 0 0;2 0 0 1 0;3 2 0 0 1];

b2=[4 12 18];

v1=[0 0 0 0 0];

%v2設定的大一點就行

v2=[1e10 1e10 1e10 1e10 1e10];

取初值,比如x0=[0 0 0 0 0];

然後[x,fv,ef,out,lambda]=linprog(c,,,a2,b2,v1,v2,x0,);

就行了。

我臨時編的,沒編譯,有問題直接告訴我就行。。。

有兩個問題,第一個,你的問題裡要求最大值,但是標準型是求取最小值,所以把c向量取你題中的相反數,這樣得到的最優解不變,但是結果目標函式要變成相反數。

第二個,不知道你的問題裡為什麼只有等式約束,看看你是不是抄錯了。

matlab怎麼實現整數線性規劃或者非線性規劃?

2樓:匿名使用者

intlinprog 函式,用於進行整數規劃和整數非整數的混合規劃

[x,y,flag]=intlinprog(f,[1,2],a,b,c,d,xm,xm)

3樓:匿名使用者

函式 linprog %用於求解線性規劃問題(即目標函式與約束條件均為線性)

[x,fva] = linprog(f,a,b,aeq,beq,lb,ub,x0,options)

x = linprog(f,a,b) %求min f ' *x sub.to 線性規劃的最優解。

x = linprog(f,a,b,aeq,beq) %等式約束 ,若沒有不等式約束 ,則a=[ ],b=[ ]。

x = linprog(f,a,b,aeq,beq,lb,ub) %指定x的範圍 ,若沒有等式約束 ,則aeq=[ ],beq=[ ]

x = linprog(f,a,b,aeq,beq,lb,ub,x0) %設定初值x0

x = linprog(f,a,b,aeq,beq,lb,ub,x0,options) % options為指定的優化引數

[x,fval,exitflag,output,lambda] = linprog(…)

% fval返回目標函式最優值,即fval= f ' *x。

% exitflag為終止迭代的錯誤條件。

% output為關於優化的一些資訊

% lambda為解x的lagrange乘子。

希望能幫助你!

求助用Matlab求解非線性規劃的問題,不勝感激

1.把 x,fval fmincon fun x0,a,b,aeq,beq,vlb,vub,mycon 改為 x,fval fmincon fun x0,a,b,aeq,beq,vlb,vub 我不是太清楚你為什麼要加mycon沒用吧。2.目標函式加負號 因專為fmincon是求最小值 functi...

高中線性規劃問題,線性規劃問題

1 由題知 設直接消耗費用為y元 產品數量為x元則 y kx 2 當x 10時 y 300 帶入 解得k 3即 y 3x 2 總費用與生產量的函式關係 y 100 x 75 3x 2 2 解方程 y 100 x 75 3x 2 求最小值就可以了 要用到線性規劃嗎?只說第二問,y 100 x 75 3...

線性規劃問題解得概念,什麼是線性規劃問題,及有那些相關概念?如何解決

設 係數矩陣a是m n矩陣,秩為m,b是a中m m階非奇異子矩陣 即 b 0 則稱b是線性規劃問題的一個基。b 是由m個線性獨立的列向量組成 ax b中,ax bxb nxn b 令 非基變數xn 0 得bxb b 和特解xb b 1b 結合xn 0 稱為對應於b的基本解 基本解個數 基的個數 m ...