2.2 理论基础
2.2.1 运输调配问题的提法
运输调配问题是一种线性规划(包含整数线性规划和0-1规划),可以较为容易地用代数形式建模。一般运输调配问题的提法如下:
设m个供给地Si(i =1,2,…,m),n个需求地Dj(j =1,2,…,n),供给地Si的供给量为si,需求地Dj的产量为dj,供给地Si到需求地Dj的单位运输成本为cij,运输调配方案如表2-3所示。
表2-3 运输调配问题数据表
如果运输调配问题的总供给量等于总需求量,即当时,称为供需平衡的运输调配问题,这是基本的运输调配问题(也称为简单的运输调配问题);否则,称为供需不平衡的运输问题,属于变形的运输调配问题。
2.2.2 基本的运输调配问题
若用xij表示从供给地Si到需求地Dj的运输调配量,则基本的运输调配问题的数学模型可以表示为
模型中包含mn个决策变量,有m+n个资源(供需)约束和mn个非负约束(含整数约束、0-1约束)。
基本的运输调配问题需要满足如下条件。
(1) 目标明确:明确供给地(厂家、产地、发出地),需求地(客户、销地、接收地),供给量(产量、生产能力),需求量(销量、接收能力)和单位成本。
(2) 需求假设:每一个供给地都有一个固定的供应量,所有的供给量都必须配送到需求地。同样,每一个需求地都有一个固定的需求量,所有的需求量都必须由供给地满足。即达成供需平衡——“总供给=总需求”。
(3) 成本假设:从任何一个供给地到达需求地的物品配送成本与所配送的数量呈线性比例关系,因此,配送成本等于配送的单位成本乘以所配送的数量。
2.2.3 运输调配问题的变形
实际运作中,完全供需平衡的情况较少,多数情况下供需是不平衡的,从而引起运输调配问题的变形。
(1) 供过于求的运输调配问题:当时,即总供给量大于总需求量的情况,每个供给量表示了从其供给地能调配出去的最大量,应以满足需求为主,所有需求均可以得到满足,供过于求的运输调配问题的数学模型为
(2) 供不应求的运输调配问题:当时,即总供给量小于总需求量的情况,每个需求量表示了其需求地所能接收到的最大量,应以满足供给为主,只能满足部分需求,供不应求的运输调配问题的数学模型为
除此之外,还有如下的一些可能变形方式:
一个需求地同时存在着最小需求和最大需求,于是,所有在这两个数值之间的数量均是可以接受的;目标函数不是求最小值(总成本),而是求最大值(总利润);在运输调配中不能使用特定的“供给—需求”组合。这些变形问题的模型,需要根据具体问题在上述模型的基础上修改目标函数和约束条件。
案例3属于供过于求的运输调配变形问题,但是又不能使用特定的“供给—需求”组合;案例4属于一个需求地同时存在着最小需求和最大需求的运输调配变形问题,且目标是使总利润最大而不是总成本最小。
2.2.4 运输调配问题的MATLAB求解
对于运输调配问题,在决策变量没有取整数的要求时,自然可用线性规划求解,但是,在决策变量必须要求取整数时(比如机器设备的台数、物品的件数、动物的数量等),则线性规划不可用,需要用整数线性规划求解。关于线性规划与整数线性规划的MATLAB实现,已经在第1章中给予了介绍,于此不复赘述。