1 前言

  设计Java程序使用表上作业法求解产销平衡运输问题。本文思路:

  1. 最小元素法确定初始基可行解(最小元素法本质贪婪算法)。
  2. 位势法求解检验数。
  3. 闭回路调整法调整初始基可行解,获得最优解。其中闭回路使用深度优先搜索寻找。

若对以上方法、概念不熟悉请自行补充。

2 运输问题例题

采用清华大学第四版运输问题,题目如下:

单位运价

初始基本可行解

检验数表

最优解

3 程序

pacakage algori:算法

  1. GreedyAlgori:最小元素法求解初始基本可行解
  2. ReducedCost:求解检验数
  3. ImprovedClosedLoop:闭合回路
  4. DepthFirstSearch:深度优先搜索寻找闭回路
  5. TableDispatchingMethod:算法运行类

pacakage main:程序运行接口

pacakage transproblem:运输问题初始参数

pacakage util:工具方法

package algori;import java.util.Arrays;public class TableDispathcingMethod {//运价表int[][] cost;//存放调运方案int[][] initialSolution;//检验数表int[][] locationOfBasicVar;// 检验数int[][] reducedCost;int[][] optimalSolution;public TableDispathcingMethod(int[][] cost, int[] supply, int[] demand) {this.cost = new int[supply.length][demand.length];for (int i = 0; i < cost.length; i++) {this.cost[i] = Arrays.copyOf(cost[i], cost[i].length);}this.initialSolution = new int[supply.length][demand.length];this.reducedCost = new int[supply.length][demand.length];for (int[] ints : reducedCost) {Arrays.fill(ints, Integer.MAX_VALUE);}//最小元素法 获得初始基本可行解GreedyAlgori greedyAlgori = new GreedyAlgori(cost, supply, demand, initialSolution);//基变量位置this.locationOfBasicVar = greedyAlgori.basicVar;//求检验数new ReducedCost(this.cost, reducedCost, locationOfBasicVar);//寻找闭合回路ImprovedClosedLoop ilp = new ImprovedClosedLoop(reducedCost);optimalSolution = ilp.optimize(initialSolution);writeAns();}public void writeAns() {System.out.println("\n最优解: ");for (int i = 0; i < optimalSolution.length; i++) {System.out.println(Arrays.toString(optimalSolution[i]));}}
}

4 运行结果

{7=1, 3=2, 2=3, 6=4},等号前的数字为检验数的位置,后的数字为搜索时的顺序。

5 附录

(1条消息) 表上作业法-运输问题(Java)-Java文档类资源-CSDN下载

表上作业法-运输问题(Java)相关推荐

  1. c语言实现运输问题表上作业法,运输问题的表上作业法

    <运输问题的表上作业法>由会员分享,可在线阅读,更多相关<运输问题的表上作业法(15页珍藏版)>请在装配图网上搜索. 1.2020/9/25,Chapter 06 中文资料运输 ...

  2. 【运筹学】运输规划、表上作业法总结 ( 运输规划模型 | 运输规划变量个数 | 表上作业法 | 最小元素法 | 差额 Vogel 法 ★ | 闭回路法 ) ★★★

    文章目录 一.运输规划模型 1.产销平衡模型 2.产销不平衡模型 二.运输规划数学模型变量个数 三.表上作业法 四.表上作业法 : 求初始基可行解 1.最小元素法 2.差额法 ( Vogel ) 推荐 ...

  3. 【运筹学】运输规划 ( 运输规划问题模型及变化 | 表上作业法引入 )

    文章目录 一.运输规划问题模型及变化 二.运输规划问题求解 ( 表上作业法 ) 一.运输规划问题模型及变化 运输规划问题一般形式 ( 产销平衡 ) : m\rm mm 个产地 : A1,A2,A3,⋯ ...

  4. 平衡运输问题及其表上作业法---指派问题及其匈牙利解法

    一.平衡运输问题及其表上作业法 平衡问题及数学建模  平衡运输问题: 就是生产数量与销售数量相等的运输问题.对总产量等于总需求量的运输问题,可直接采用表上作业法求最优运输方案  数学模型:  2.表上 ...

  5. 【运筹学】表上作业法 ( 最优解判别 | 初始基可行解 | 运费修改可行性方案 | 闭回路法 )

    文章目录 一.最优解判别 二.初始基可行解 三.运费修改可行性方案 四.闭回路法 一.最优解判别 在上两篇博客 [运筹学]表上作业法 ( 求初始基可行解 | 最小元素法 ) , [运筹学]表上作业法 ...

  6. 【运筹学】表上作业法 ( 最小元素法分析 | Vogel 方法 )

    文章目录 一." 最小元素法 " 分析 二.Vogel 方法 ( 差额法 ) 一." 最小元素法 " 分析 在上一篇博客 [运筹学]表上作业法 ( 求初始基可行 ...

  7. 【运筹学】表上作业法 ( 求初始基可行解 | 最小元素法 )

    文章目录 一.表上作业法 第一步 : 确定初始基可行解 二.最小元素法 一.表上作业法 第一步 : 确定初始基可行解 运输问题如下 : 下面的表格代表 333 个产地 , 444 个销地 的运输规划问 ...

  8. 【运筹学】表上作业法 ( 示例 | 使用 “ 最小元素法 “ 找初始基可行解 )

    文章目录 一.运输规划问题 二.找初始基可行解 一.运输规划问题 运输规划问题 : B1\rm B_1B1​ B1\rm B_1B1​ B1\rm B_1B1​ B1\rm B_1B1​ 产量 A1\ ...

  9. 运筹学—运输问题与表上作业法

    西北角法 不考虑运价,从西北角的格子开始分配运量,按尽可能满足一方取小的原则,第一行和第一列的格子分配完后,依次向东南角方向的格子进行运量分配. 例如: 第一步:列出产售平衡表 第二步:利用西北角法进 ...

  10. python求解运输问题_【Python实现】运输问题的表上作业法:利用伏格尔 (Vogel) 法寻找初始基可行解...

    #运输问题求解:使用Vogel逼近法寻找初始基本可行解 import numpy as np import pandas as pd import copy #定义函数TP_vogel,用来实现Vog ...

最新文章

  1. Oozie-3.3.2安装配置运行实践
  2. 使用Sublime text 3打造一个小巧但强大的Go语言开发IDE
  3. python的scikit-learn算法库实现
  4. java:退出功能_Java 8:功能VS传统
  5. 工业视觉中的目标检测——兼谈天池大赛优胜方案
  6. Python使用递归对任意嵌套列表进行扁平化
  7. 使用hexo搭建github个人博客网站
  8. 电脑服务器注册表,(恢复Windows服务器注册表的系统配置单元.doc
  9. Vue上传多张图片到服务器,数据库存储图片路径并将图片渲染到前端
  10. python 按照四个点的坐标裁剪不规则四边形
  11. HTML5 AJAX跨域请求
  12. 遗传算法的特性以及在具体算法应用中的应用
  13. 游戏系列之无限弹窗游戏
  14. MD5加密及密码验证
  15. 高可用性系统在大众点评的实践与经验
  16. 电子科大 数据结构专题
  17. 数据采集仪的优势及应用,打破传统信息采集终端弊端
  18. 下载软件未来发展在于聚合资源
  19. 维特比算法的java实现_维特比算法通俗明白
  20. abb楼宇对讲机使用说明书_abb可视对讲的室内机怎么用

热门文章

  1. 【预测模型-ELAMN预测】基于海鸥算法优化ELMAN神经网络实现数据回归预测
  2. 机房管理--如何应对学生关闭极域电子教室
  3. 虚拟机 ms-dos系统下下载masm611详细步骤(带图)
  4. 爬取淘宝商品评论——2020-8月
  5. 演化博弈的仿真分析 基于matlab
  6. 太棒了!TCP/IP协议 (图解+秒懂+史上最全)
  7. Android视频裁剪适配,类似于ImageView的scaleType=centerCrop
  8. 基于TI8168平台的16路D1分辨率的DVR方案
  9. PreferenceFragment和PreferenceActivity
  10. java web开发实战经典 李兴华_MLDN李兴华JavaWeb开发实战经典(高级案例篇)全部源码...