線性規划——產銷平衡


運輸問題(產銷平衡)

  某商品有m 個產地、n 個銷地,各產地的產量分別為a1,a2,...am ,各銷地的 需求量分別為b,..bn , , 1 L 。若該商品由i 產地運到 j 銷地的單位運價為 cij ,問應該如何調 運才能使總運費最省?

  解:引入變量 xij ,其取值為由i 產地運往 j 銷地的該商品數量,數學模型為

在這里插入圖片描述

顯然是一個線性規划問題,當然可以用單純形法求解。

  對產銷平衡的運輸問題,由於有以下關系式存在:

在這里插入圖片描述

其約束條件的系數矩陣相當特殊,可用比較簡單的計算方法,習慣上稱為表上作業法(由 康托洛維奇和希奇柯克兩人獨立地提出,簡稱康—希表上作業法)

例題:

  某公司有三個加工廠A1,A2.A3生產某產品,每日的產量分別為:7噸、4噸、9噸;該公司把這些產品分別運往四個銷售點B1,B2、B3、B4,各銷售點每日銷量分別為:3噸、6噸、5噸、6噸;從各工廠到各銷售點的單位產品運價如表4-1所示。問該公司應如何調運這些產品,在滿足各銷售點的需要量的前提下,使總運費最少?

解析: 典型的產銷平衡問題,將已知數據做成表格如下:

在這里插入圖片描述

  將所有數據列成表格會更加清晰,根據題意可以得到目標函數的表達式如下:

在這里插入圖片描述

  然后將已知約束關系整理如下:

在這里插入圖片描述

  可見題目中並沒有不等式約束關系,同時也沒有約束上界ub。

Matlab 程序實現

clc;clear				%清空數據防止干擾
f=[3;11;3;10;1;9;2;8;7;4;10;5];	%價值向量
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);
    0,1,zeros(1,2), 0,1,zeros(1,2), 0,1,zeros(1,2);
    zeros(1,2),1,0, zeros(1,2),1,0, zeros(1,2),1,0;
    zeros(1,3),1,zeros(1,3),1,zeros(1,3),1];
beq=[7;4;9;3;6;5;6];			%線性等式約束
[x,y]=linprog(f,[],[],aeq,beq,zeros(12,1))	%求解

題目答案:

x=[0;0;5;2;3;0;0;1;0;6;0;3]
y=85


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM