實驗五: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);