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

2.4 MATLAB求解

2.4.1 案例3的求解

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

      clc,clear% 清除命令窗口,清除工作空間
      % 設定原始數據
      F = [27 41 24 28 40 29 0 23 30 37 21 27];
      Aeq =[1 zeros(1,3)1 zeros(1,3)1 zeros(1,3);zeros(1,1)1 zeros(1,3)1 zeros(1,3)1
          zeros(1,2);...
          zeros(1,2)1 zeros(1,3)1 zeros(1,3)1 zeros(1,1);zeros(1,3)1 zeros(1,3)1
      zeros(1,3)1];
      Beq = [20 30 30 40];
      A = [ones(1,4)zeros(1,8);zeros(1,4)ones(1,4)zeros(1,4);zeros(1,8)ones(1,4)];
      B =[75 75 45];
      LB = zeros(1,12)';UB =[inf* ones(1,6)0 inf* ones(1,5)]';
      % 求解
      [x,min_fval] = Ch1_FZDJ(F,A,B,Aeq,Beq,LB,UB);
      % 輸出結果
      fprintf('1.各廠家向各客戶的配送量為: \n')
      disp('    F1-C1    F1-C2    F1-C3    F1-C4'),disp(x(1:4)')
      disp('    F2-C1    F2-C2    F2-C3    F2-C4'),disp(x(5:8)')
      disp('    F3-C1    F3-C2    F3-C3    F3-C4'),disp(x(9:12)')
      fprintf('2.最小成本為(元): '),disp(min_fval)

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

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

由圖2-1所示的求解結果可知,當廠家1向客戶1配送20件,廠家2分別向客戶2和客戶4配送30件與40件,廠家3向客戶3配送30件時,可使得運輸成本最小。在該配送方案下,最小成本為2960元。

2.4.2 案例4的求解

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

          clc,clear% 清除命令窗口,清除工作空間
          % 設定原始數據
          F = -[46 53 55 42 32 48 37 18 51 35 29 59];
          Aeq =[ones(1,4)zeros(1,8);zeros(1,4)ones(1,4)zeros(1,4);...
              zeros(1,8)ones(1,4);1 zeros(1,3)1 zeros(1,3)1 zeros(1,3)];
          Beq =[8000500070007000];
          A =[zeros(1,1)1 zeros(1,3)1 zeros(1,3)1 zeros(1,2);zeros(1,1) -1 zeros(1,3) -1
              zeros(1,3) -1 zeros(1,2);...
              zeros(1,2)1 zeros(1,3)1 zeros(1,3)1 zeros(1,1);zeros(1,2) -1 zeros(1,3) -1
              zeros(1,3) -1
              zeros(1,1);...
              zeros(1,3)1 zeros(1,3)1 zeros(1,3)1];B =[9000-30006000-20008000];
          LB = zeros(1,12)';UB = inf* ones(1,12)';
          % 求解
          [x,min_fval] = Ch1_FZDJ(F,A,B,Aeq,Beq,LB,UB);
          % 輸出結果
          fprintf('1.各廠家向各客戶的配送量為: \n')
          disp('    F1-C1    F1-C2    F1-C3    F1-C4'),disp(x(1:4)')
          disp('    F2-C1    F2-C2    F2-C3    F2-C4'),disp(x(5:8)')
          disp('    F3-C1    F3-C2    F3-C3    F3-C4'),disp(x(9:12)')
          fprintf('2.最大利潤為: '),disp(-min_fval)

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

圖2-2 案例4的求解結果

由圖2-2所示的求解結果可知,當分廠1分別向客戶1和客戶3配送2000件和6000件,分廠2向客戶2配送5000件,分廠3分別向客戶1和客戶4配送5000件和2000件時,可獲得最大利潤1035000元。

主站蜘蛛池模板: 德庆县| 简阳市| 永胜县| 玉树县| 南漳县| 邢台市| 镇平县| 普定县| 汉中市| 游戏| 武邑县| 凤台县| 赫章县| 乃东县| 和硕县| 铁岭县| 牡丹江市| 舞钢市| 南平市| 新宁县| 葵青区| 林周县| 嘉鱼县| 什邡市| 蒙自县| 上饶县| 齐齐哈尔市| 宁安市| 始兴县| 兴宁市| 顺昌县| 呼图壁县| 清苑县| 永州市| 喀喇沁旗| 旅游| 定结县| 阳江市| 达孜县| 太保市| 甘南县|