表上作业法-运输问题(Java)
1 前言
设计Java程序使用表上作业法求解产销平衡运输问题。本文思路:
- 最小元素法确定初始基可行解(最小元素法本质贪婪算法)。
- 位势法求解检验数。
- 闭回路调整法调整初始基可行解,获得最优解。其中闭回路使用深度优先搜索寻找。
若对以上方法、概念不熟悉请自行补充。
2 运输问题例题
采用清华大学第四版运输问题,题目如下:
单位运价
初始基本可行解
检验数表
最优解
3 程序
pacakage algori:算法
- GreedyAlgori:最小元素法求解初始基本可行解
- ReducedCost:求解检验数
- ImprovedClosedLoop:闭合回路
- DepthFirstSearch:深度优先搜索寻找闭回路
- 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)相关推荐
- c语言实现运输问题表上作业法,运输问题的表上作业法
<运输问题的表上作业法>由会员分享,可在线阅读,更多相关<运输问题的表上作业法(15页珍藏版)>请在装配图网上搜索. 1.2020/9/25,Chapter 06 中文资料运输 ...
- 【运筹学】运输规划、表上作业法总结 ( 运输规划模型 | 运输规划变量个数 | 表上作业法 | 最小元素法 | 差额 Vogel 法 ★ | 闭回路法 ) ★★★
文章目录 一.运输规划模型 1.产销平衡模型 2.产销不平衡模型 二.运输规划数学模型变量个数 三.表上作业法 四.表上作业法 : 求初始基可行解 1.最小元素法 2.差额法 ( Vogel ) 推荐 ...
- 【运筹学】运输规划 ( 运输规划问题模型及变化 | 表上作业法引入 )
文章目录 一.运输规划问题模型及变化 二.运输规划问题求解 ( 表上作业法 ) 一.运输规划问题模型及变化 运输规划问题一般形式 ( 产销平衡 ) : m\rm mm 个产地 : A1,A2,A3,⋯ ...
- 平衡运输问题及其表上作业法---指派问题及其匈牙利解法
一.平衡运输问题及其表上作业法 平衡问题及数学建模 平衡运输问题: 就是生产数量与销售数量相等的运输问题.对总产量等于总需求量的运输问题,可直接采用表上作业法求最优运输方案 数学模型: 2.表上 ...
- 【运筹学】表上作业法 ( 最优解判别 | 初始基可行解 | 运费修改可行性方案 | 闭回路法 )
文章目录 一.最优解判别 二.初始基可行解 三.运费修改可行性方案 四.闭回路法 一.最优解判别 在上两篇博客 [运筹学]表上作业法 ( 求初始基可行解 | 最小元素法 ) , [运筹学]表上作业法 ...
- 【运筹学】表上作业法 ( 最小元素法分析 | Vogel 方法 )
文章目录 一." 最小元素法 " 分析 二.Vogel 方法 ( 差额法 ) 一." 最小元素法 " 分析 在上一篇博客 [运筹学]表上作业法 ( 求初始基可行 ...
- 【运筹学】表上作业法 ( 求初始基可行解 | 最小元素法 )
文章目录 一.表上作业法 第一步 : 确定初始基可行解 二.最小元素法 一.表上作业法 第一步 : 确定初始基可行解 运输问题如下 : 下面的表格代表 333 个产地 , 444 个销地 的运输规划问 ...
- 【运筹学】表上作业法 ( 示例 | 使用 “ 最小元素法 “ 找初始基可行解 )
文章目录 一.运输规划问题 二.找初始基可行解 一.运输规划问题 运输规划问题 : B1\rm B_1B1 B1\rm B_1B1 B1\rm B_1B1 B1\rm B_1B1 产量 A1\ ...
- 运筹学—运输问题与表上作业法
西北角法 不考虑运价,从西北角的格子开始分配运量,按尽可能满足一方取小的原则,第一行和第一列的格子分配完后,依次向东南角方向的格子进行运量分配. 例如: 第一步:列出产售平衡表 第二步:利用西北角法进 ...
- python求解运输问题_【Python实现】运输问题的表上作业法:利用伏格尔 (Vogel) 法寻找初始基可行解...
#运输问题求解:使用Vogel逼近法寻找初始基本可行解 import numpy as np import pandas as pd import copy #定义函数TP_vogel,用来实现Vog ...
最新文章
- Oozie-3.3.2安装配置运行实践
- 使用Sublime text 3打造一个小巧但强大的Go语言开发IDE
- python的scikit-learn算法库实现
- java:退出功能_Java 8:功能VS传统
- 工业视觉中的目标检测——兼谈天池大赛优胜方案
- Python使用递归对任意嵌套列表进行扁平化
- 使用hexo搭建github个人博客网站
- 电脑服务器注册表,(恢复Windows服务器注册表的系统配置单元.doc
- Vue上传多张图片到服务器,数据库存储图片路径并将图片渲染到前端
- python 按照四个点的坐标裁剪不规则四边形
- HTML5 AJAX跨域请求
- 遗传算法的特性以及在具体算法应用中的应用
- 游戏系列之无限弹窗游戏
- MD5加密及密码验证
- 高可用性系统在大众点评的实践与经验
- 电子科大 数据结构专题
- 数据采集仪的优势及应用,打破传统信息采集终端弊端
- 下载软件未来发展在于聚合资源
- 维特比算法的java实现_维特比算法通俗明白
- abb楼宇对讲机使用说明书_abb可视对讲的室内机怎么用
热门文章
- 【预测模型-ELAMN预测】基于海鸥算法优化ELMAN神经网络实现数据回归预测
- 机房管理--如何应对学生关闭极域电子教室
- 虚拟机 ms-dos系统下下载masm611详细步骤(带图)
- 爬取淘宝商品评论——2020-8月
- 演化博弈的仿真分析 基于matlab
- 太棒了!TCP/IP协议 (图解+秒懂+史上最全)
- Android视频裁剪适配,类似于ImageView的scaleType=centerCrop
- 基于TI8168平台的16路D1分辨率的DVR方案
- PreferenceFragment和PreferenceActivity
- java web开发实战经典 李兴华_MLDN李兴华JavaWeb开发实战经典(高级案例篇)全部源码...