每日總結(matlab)

艾鑫4646發表於2024-06-16
實驗五:MATLAB最最佳化工具箱的使用
(1)線性規劃應用案例的求解
1、基本要求
透過一個農業生產計劃最佳化安排的例項求解,培養學生解決實際線性規劃問題的初步能力;熟悉線性規劃的建模過程;掌握Matlab最佳化工具箱中線性規劃函式的呼叫。
2、主要內容
某村計劃在100公頃的土地上種植a、b、c三種農作物。可以提供的勞力、糞肥和化肥等資源的數量,種植每公頃農作物所需這三種資源的數量,以及能夠獲得的利潤如表所示。
種植投入產出表
    用  工    糞肥(噸)    化肥(千克)    利潤(元)
a    450    35    350    1500
b    600    25    400    1200
c    900    30    300    1800
可提供資源    63000    3300    33000    
其中一個勞動力幹一天為1個工。現在要求為該村制定一個農作物的種植計劃,確定每種農作物的種植面積,使得總利潤最大。
3、操作要點
(1)建立線性規劃的數學模型;
(2)安裝Matlab最佳化工具箱(Optimization Toolbox),並學習工具箱中求解線性規劃的函式;
(3)利用Matlab最佳化工具箱解線性規劃問題。
(4)執行該程式,在命令窗記錄下最優解x和對應的最優值fval。
(5)按照模板撰寫實驗報告,要求規範整潔。
4、主要儀器裝置
微機及Matlab軟體
(2)二次規劃應用案例的求解
1、基本要求
透過一個投資組合最佳化問題的例項求解,培養學生解決實際二次規劃問題的初步能力;熟悉線性規劃的建模過程;掌握Matlab最佳化工具箱中線性規劃函式的呼叫。
2、上機主要內容
求解從一點(0,0,0)到超平面 的最短距離,
其中, , 。
透過建模構造二次規劃問題,求解以上問題的最優解和最優值。
3、操作要點
(1)建立二次規劃的數學模型;
(2)安裝Matlab最佳化工具箱(Optimization Toolbox),並學習工具箱中求解二次規劃的函式;
(3)利用Matlab最佳化工具箱解二次規劃問題。
(4)執行該程式,在命令窗記錄下最優解x和對應的最優值fval。
(5)按照模板撰寫實驗報告,要求規範整潔。
4、主要儀器裝置
微機及Matlab軟體
f=[1500 1200 1800]';
 f=-f;
 a=[450 600 900;35 25 30;350 400 300];
 b=[63000 3300 33000]';
 acq=[1 1 1];
 aeq=[1 1 1];
 beq=[100];
 lb=zeros(3,1);
 [x,fval,exitflag,output,lamdba]=linprog(f,a,b,aeq,beq,lb)
  

1
2
3
4
5
6
7
8
% 構造二次規劃模型
H = 2 * eye(3);
f = zeros(3,1);
Aeq = [1 1 0; 1 0 1];
beq = [1;0];
x0 = [0; 0; 0];
% 呼叫quadprog函式求解
[x,fval] = quadprog(H, f, [], [], Aeq, beq, [], [], x0);