java-cplex
文章平均质量分 73
南音小榭
小楼昨夜又东风
展开
-
多阶段库存订货问题的整数规划求解-cplex
某鞋店出售橡胶雪靴,预计未来4个月市场需求如下:月份:1 2 3 4需求:40 20 30 40每次订货只有10,20,30,40,50几种批量方案,每种批量的价格分别为48,86,118,138,160元,每月库存不能超过40双,存储费用按月末计算,每双价格为0.2元。考虑到四个月后市场风险较大,希望四个月后的库存为0.这四个月如何订货,总花费最小?(1)每月的月末库存不能超过40(2)第4个月的月末库存为0(3)当月库存=上月库存+当月订货量-当月需求量变量s_i表示第i月的剩余库存原创 2022-06-15 17:35:13 · 688 阅读 · 0 评论 -
java调用cplex实现经典Benders分解算法求解混合整数规划问题
Benders分解算法是由Jacques F. Benders在1962年首先提出,目的是用于解决混合整数规划问题(MIP问题),即连续变量与整数变量同时出现的极值问题。随着分解算法的不断演变,不严格要求问题形式的广义Benders分解算法被A.M. Geoffrion提出,实现了对具有Benders分解基本形式的非线性问题求解,也就是说在广义Benders分解算法对子问题的求解方法也不必一定是线性的。这里仅对经典的Benders分解算法进行简要说明。经典的Benders分解算法将决策变量分为简单变量和复杂原创 2022-06-08 14:43:09 · 2379 阅读 · 2 评论 -
java调用cplex实现拉格朗日松弛算法求解整数规划问题
在难以求解的模型当中,可以使用分支定界算法,割平面算法等算法进行精确求解,以便于获得问题的精确解。若在求解过程中,这些难以求解的模型不需要获得他的精确解,而是只需要给出一个次优解或者解的上下界。在这种情况下可以考虑采用松弛模型的方法。当然,智能算法也是一种解决途径。对于一个整数规划问题,与0-1整数规划问题中将离散变量的取值范围松弛为[0,1]之间的连续变量不同,拉格朗日松弛算法是将模型中的部分约束进行松弛,并且这些被松弛的约束并不是被完全去掉,而是利用拉格朗日乘子在目标函数上增加相应的惩罚项,对不满足这些原创 2022-06-04 20:59:07 · 1896 阅读 · 5 评论 -
java调用cplex实现分支定界算法求解整数规划问题
分支定界算法分支定界算法是求解整数规划或者混合整数规划问题的最常用方法之一,其基本思想是将松弛可行域不断分解为较小的区域,并从该区域当中获取最好解;若该区域仍然无法满足变量约束条件,则进一步划分可行域。这一过程为分支过程且分支过程中将会对解进行判断,若劣于当前最好解,该支将被舍去。若找到符合约束条件的整数解,则需要对当前解进行更新,划定问题的界限,称之为定界。为什么自定义算法cplex求解器具备求解整数规划的功能,如博客【cplex求解整数规划示例-按行添加】或者【cplex求解整数规划示例-按列添加原创 2022-05-31 18:31:01 · 1437 阅读 · 3 评论 -
java调用cplex实现列生成算法求解切割下料问题
列生成算法列生成(Column generation)算法是一种用于求解大规模线性优化问题的非常高效的算法,被应用于调度问题、切割问题、车辆路径问题、选址问题等。列生成算法是一种可用于求解线性规划问题的精确算法,其本质是单纯形法的延伸扩展。列生成算法的原理详细介绍可参考博客【干货 | 10分钟带你彻底了解column generation】为什么使用列生成算法在一般的线性规划问题当中,变量数和约束数较少,求解器或者手写单纯形法均能对问题进行求解,再不济花费时间成本进行算法迭代,同样也可以实现求解。原创 2022-05-29 21:48:49 · 1280 阅读 · 3 评论 -
cplex求解整数规划示例-按列添加
在列生成算法学习过程中,使用按列对添加模型有利于后期逐步添加列。但是之前只了解按行添加的模式,因而记录java-cplex按列添加模型的方式。按行添加:根据数学模型的约束数量,逐一将每一个约束添加进入模型,如【cplex求解整数规划示例-按行添加】。按列添加:根据数学模型的变量数量,逐一将每一个约束的变量添加进入模型。问题介绍数据定义class DataColumn{ // 目标系数 double[] objectiveCoefficient={7, 8, 2, 9原创 2022-05-29 20:23:17 · 1339 阅读 · 0 评论 -
划分问题的整数规划求解-cplex
问题介绍给定一个大小不等的整数集合,问是否可以把这些整数划分成两个集合,任何一个整数或者在集合S1中或者在S2中,但不能同时在两个集合中;对任意给的一个整数集合,请设计算法,解决是否存在一个划分,使得S1种整数之和恰好等于S2集合的整数之和。数学模型leapms介绍使用Java+cplex求解问题前,先介绍一种全新且高效的建模工具——Leapms。Leapms 是一个用于求解整数规划的免费建模语言,具备简洁的建模过程。Leapms 语言设计的原则包括:(1)采用描述性语言形式;(2)尽力与模型的原创 2022-05-17 18:41:19 · 432 阅读 · 0 评论 -
选址问题的整数规划求解-cplex
问题介绍有五个地点需要派员工作,拟在五个地点中选择若干个地点建立办公室,从办公室到工作地点的旅行根据远近不同有不同的耗费,在各地建立办公室的一次性花费也不同。已知各地的派员需求量,规划在何处建址以及各办公室到不同地点的派员数量,以使得总花费最小。数据如下:数学模型leapms介绍使用Java+cplex求解问题前,先介绍一种全新且高效的建模工具——Leapms。Leapms 是一个用于求解整数规划的免费建模语言,具备简洁的建模过程。Leapms 语言设计的原则包括:(1)采用描述性语言形式;(原创 2022-05-17 17:40:14 · 1508 阅读 · 0 评论 -
P中值选址问题的整数规划求解-cplex
问题介绍p-中值选址问题是一个常见的选址问题. 问题是给定I个需求结点和J个待选设施地点, 要求选择p个地点建立设施, 使得运输成本最低。数学模型leapms介绍Leapms 语言是一个用于求解整数规划的免费建模语言,具备简洁的建模过程。Leapms 语言设计的原则包括:(1)采用描述性语言形式;(2)尽力与模型的数学表达形式一致。leapms软件应用网站:https://www.cnblogs.com/leapms/数据定义// 数据参数定义class DataMedian{原创 2022-05-17 16:25:15 · 3740 阅读 · 0 评论 -
cplex求解整数规划示例-按行添加
使用java+cplex实现对整数规划问题进行求解,使用or-tools的解决方法可以查看这篇文章【or-tools求解整数规划】。问题介绍数据定义// 数据参数定义class Data{ // 目标系数 double[] objectiveCoefficient={7, 8, 2, 9, 6}; // 约束系数 double[][] constraintCoefficient={{5, 7, 9, 2, 1}, {18, 4, -原创 2022-05-17 12:38:47 · 801 阅读 · 0 评论 -
IntelliJ IDEA 2021.3配置Cplex12100
Cplex是IBM公司的一款高性能求解器,支持python、java、C++等多种语言。本文简要介绍介绍IntelliJ IDEA 2021.3配置Cplex的过程。cplex_entserv1210.win-x86-64网盘链接:https://pan.baidu.com/s/1OiFcpTYJ94Xv6tflT1ICGg提取码:t3pj第一步:添加cplex.jarFile -> Project structure -> Libraries->左上角(+)->Java-原创 2022-05-10 22:41:46 · 546 阅读 · 0 评论