LINGO
線性規(guī)劃問題
約束條件4x+3y<=10,3x+5y<=12,x,y是整數(shù)离例,求z=2x+3y的最大值。
在解決這道比較簡單的數(shù)學(xué)規(guī)劃問題把还,作為高中黨,可以在平面直角坐標(biāo)系中完成。當(dāng)然我們也能在lingo軟件中輕松完成吊履。代碼如下
MODEL:
MAX=2*X+3*Y;
4*X+3*Y<10;
3*X+5*Y<12;
GIN(X);@GIN(Y);
END
運行結(jié)果如下
可以找到x=0安皱,y=2滿足題目要求
非線性規(guī)劃問題
lingo對于非線性規(guī)劃問題,給出的結(jié)果方案也是不錯的艇炎,能夠很好解決我們在高中所碰到的這些問題酌伊。
例如我們要解決這個問題,該如何去做呢缀踪?
MODEL:
MAX=(X-3)^2+(Y-2)^2;
X^2+Y^2-5<=0;
X+2*Y-4<=0;
X>=0;
Y>=0;
END
運行結(jié)果如下
目標(biāo)函數(shù)的解是13居砖,此時x=0,y=0.
matlab
MATLAB作為重要的數(shù)學(xué)軟件驴娃,已經(jīng)廣泛應(yīng)用與理工科的研究中奏候,對于數(shù)學(xué)建模過程中提供計算機技術(shù)上的支持。MATLAB可以說很強大唇敞。那么關(guān)于線性規(guī)劃的問題蔗草,MATLAB也是手到擒來。
線性規(guī)劃
例如:某機床廠生產(chǎn)甲疆柔、乙兩種機床咒精,每臺銷售后的利潤分別為 4000 元與 3000 元。
生產(chǎn)甲機床需用 A旷档、B 機器加工模叙,加工時間分別為每臺 2 小時和 1 小時;生產(chǎn)乙機床
需用 A鞋屈、B向楼、C 三種機器加工,加工時間為每臺各一小時谐区。若每天可用于加工的機器時
數(shù)分別為 A 機器 10 小時、B 機器 8 小時和C 機器 7 小時逻卖,問該廠應(yīng)生產(chǎn)甲宋列、乙機床各
幾臺,才能使總利潤最大评也?
在matlab的代碼應(yīng)該如下:
c=[4;3];
a=[2,1;1,1;0,7];
b=[10;8;7];
[x,y]=linprog(c,a,b,[],[],zeros(3,1))
非線性規(guī)劃問題
matlab的實現(xiàn)不如lingo實現(xiàn)好炼杖,畢竟MATLAB是在矩陣的基礎(chǔ)上,如果MATLAB需要實現(xiàn)非線性規(guī)劃問題的求解盗迟,需要使用.m的文件坤邪,要求稍高一點。
總而言之罚缕,對于新手來說艇纺。解決線性規(guī)劃問題,推薦使用lingo進(jìn)行解決,較為快捷便利黔衡。如果是MATLAB高手蚓聘,那么則考慮MATLAB。