官术网_书友最值得收藏!

1.4 MATLAB求解

1.4.1 案例1的求解

根據所建立的數學模型,調用自編MATLAB函數程序Ch1 FZDJ求解。編寫腳本文件(命名:Case1 1),文件源碼的具體內容如下。

          clc,clear% 清除命令窗口,清除工作空間
          % 設定原始數據
          F = -[zeros(1,4)200];Aeq = [];Beq = [];
          A =[95460;789100;-8-6-9-74;-6-7-5-93];B =[40060000];
          LB = zeros(1,5)';UB = inf* ones(1,5)';
          % 求解
          [x,min_fval] = Ch1_FZDJ(F,A,B,Aeq,Beq,LB,UB);
          % 輸出結果
          fprintf('1.各車間的開工次數與最大配套數為: \n')
          disp('    車間一    車間二    車間三    車間四    配套數'),disp(x')
          fprintf('2.最大利潤為: '),disp(-min_fval)

在MATLAB命令窗口中執行Case1 1,所得結果如圖1-5所示。

圖1-5 案例1的求解結果

由圖1-5所示的求解結果可知,當車間1開工17次,車間2開工13次,車間3開工34次,車間7開工7次時,可得到最大的配套數為142套。在此生產方案下,可獲得的最大利潤為28400 (28400=142 × 200)元。

1.4.2 案例2的求解

根據所建立的數學模型,調用MATLAB中的fmincon函數求解。編寫腳本文件(命名:Case1 2),文件源碼的具體內容如下。

          clc,clear% 清除命令窗口,清除工作空間
          % (1)設定數據
          xini =[2 3 3];A = [];B = [];Aeq = [];Beq = [];LB = zeros(1,2);UB = [];
          % (2)求解并輸出結果
          options = optimset('Algorithm','interior-point');
          [x,fval] = fmincon(@ Case1_2ob,xini,A,B,Aeq,Beq,LB,UB,@ Case1_2con,op-
          tions);
          fprintf('1.自變量的解為: \n')
          disp('     x1       x2       x3')
          disp(x)
          fprintf('2.最小的總成本為: % f \n',fval)

其中,目標函數和約束條件源碼的具體內容如下。

          % 目標函數
          f = 40* sqrt(x(3)^2-0.25* (x(2)-x(1))^2)* (x(1)+x(2))+30* x(1)^2;
          % 非線性不等式約束
          C =[6* sqrt(x(3)^2-0.25* (x(2)-x(1))^2)* (x(2)+x(1))+2* x(1)^2-56; -x
              (3)+(sqrt(2)/2)* (x(2)-x(1))];
          % 非線性等式約束
          Ceq = sqrt(x(3)^2-0.5* (x(2)-x(1))^2)* (x(1)^2+x(1)* x(2)+x(2)^2)-30;

在MATLAB命令窗口中執行Case1 2,所得結果如圖1-6所示。

圖1-6 案例2的求解結果

由圖1-6所示的求解結果可知,最小的總成本為468.89元,容器的小底面邊長為2.407 m,敞口邊長為3.344 m,側面長為1.370 m。不過,求解結果截面顯示這里求得的總成本最小值只是局部最小值。這是因為,在目標函數和約束所滿足的缺省值誤差內,目標函數在可行域內是非遞減的。

根據此解,可以設計容器的單個側面,示意圖如圖1-7所示。

圖1-7 敞口容器的單個側面設計示意圖

主站蜘蛛池模板: 罗山县| 合山市| 会理县| 旅游| 湖北省| 房山区| 开封县| 屯留县| 合川市| 亚东县| 柳林县| 潞西市| 托里县| 太仓市| 南安市| 祁东县| 平罗县| 紫阳县| 黎平县| 晋宁县| 黄平县| 衡阳市| 郓城县| 沂源县| 凤庆县| 谷城县| 原平市| 浑源县| 仁布县| 南江县| 林口县| 高阳县| 峨边| 德昌县| 建平县| 江门市| 长海县| 黎平县| 定襄县| 吴堡县| 太谷县|