"LINGO 软件在运输问题解决中的应用" 一、实验目的 本实验的目的是使用 LINGO 软件来解决运输问题,掌握使用 LINGO 软件的步骤和方法,并对结果进行分析。 二、实验内容 本实验的内容是解决一个运输问题,已知某企业有三个分厂生产一种产品,其产量分别为 7、9、7 个单位,需运往四个门市部,各门市部需要量分别为 3、5、7、8 个单位。已知单位运价如下表所示: | | A | B | C | D | | --- | --- | --- | --- | --- | | 甲 | 12 | 13 | 10 | 11 | | 乙 | 10 | 12 | 14 | 10 | | 丙 | 14 | 11 | 15 | 12 | 现在需要确定一个运输计划,使总运费最少。另外,还需要解决一个工作分配的问题,即在五个工人中确定四个人来分别完成四项工作中的一项工作。 三、模型建立 本实验的问题可以建立为一个数学模型,即: max Z = ∑(ij × xij) s.t. ∑xij ≤ ai, ∀i ∑xij ≥ bj, ∀j xij ≥ 0, ∀i, j 其中,xij 代表从第 i 个产地运往第 j 个销地的数量,ai 代表第 i 个产地的产量,bj 代表第 j 个销地的销量,cij 代表从第 i 个产地运往第 j 个销地的单位产品运输费用。 四、模型求解 使用 LINGO 软件可以求解该数学模型,编写的程序如下: ```lingo sets: warehouses / wh1..wh3 / : capacity; vendors / v1..v4 / : demand; links(warehouses, vendors): cost, volume; data: capacity = [7, 9, 7]; demand = [3, 5, 7, 8]; cost = [ [12, 13, 10, 11], [10, 12, 14, 10], [14, 11, 15, 12] ]; min = @sum(links(I, J) : cost(I, J) * volume(I, J)); @for(vendors(J) : @sum(warehouses(I) : volume(I, J)) = demand(J)); @for(warehouses(I) : @sum(vendors(J) : volume(I, J)) <= capacity(I)); ``` 五、结论 通过使用 LINGO 软件,可以快速解决运输问题,并获得最优的运输计划。该实验可以帮助学生掌握使用 LINGO 软件的步骤和方法,并对结果进行分析。
- 粉丝: 381
- 资源: 8万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助