- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
GLPK 是否可以将解决方案分散到多个等成本变量上?
假设我在 myprog 中有这段代码:
from pymprog import *
begin()
loads = var('loads', 3)
load_cost = par('load_cost', [10, 10, 10])
sum (loads[i] for i in range(len(loads))) >= 200
for i in range(len(loads)) :
loads[i] <= 100
minimize (sum (load_cost[i] * loads[i] for i in range(len(loads))))
solve()
end()
是否可以要求求解器为三个载荷返回 66, 66, 66,而不是 100, 100, 0?
最佳答案
以下代码片段使用 gekko 优化包解决您的问题。它会产生您想要的解决方案“66,66,66”:
from gekko import GEKKO
import numpy as np
#Initialize Model
m = GEKKO()
#initialize variables
x1,x2,x3 = [m.Var() for i in range(3)]
c1,c2,c3 = [m.Param(value=10) for i in range(3)]
#initial values
x1.value = 1
x2.value = 1
x3.value = 1
# lower bounds
x1.lower = 0
x2.lower = 0
x3.lower = 0
# upper bounds
x1.upper = 100
x2.upper = 100
x3.upper = 100
#Equations
m.Equation(x1+x2+x3>=200)
#Objective
m.Obj(x1*c1+x2*c2+x3*c3)
#Set global options
m.options.IMODE = 3 #steady state optimization
#Solve simulation
m.solve()
#Results
print('')
print('Results')
print('x1: ' + str(x1.value))
print('x2: ' + str(x2.value))
print('x3: ' + str(x3.value))
但是,如果您选择不同的初始值,求解器可能会找到负载分布不均的其他解。为了强制均匀分配负载,您应该考虑通过添加惩罚项来修改目标函数:
m.Obj(x1*c1+x2*c2+x3*c3+x1*x1+x2*x2+x3*x3)
使用此目标函数,无论您使用什么初始值,结果都将始终是所需的结果。
关于python - 在 GLPK 中将负载分散到不同的等成本变量上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55540199/
我的代码中发生了一些奇怪的事情。我创建了一个函数来动态创建 MIP 问题以供 GLPK 解决。问题是在代码的某些部分 JVM 崩溃了。 调试后,我发现崩溃恰好发生在我创建 intArray (GLPK
我需要编写一个整数程序。它非常简单,但问题是几乎没有关于如何使用可调用库为 GLPK 编写整数程序的好信息,更不用说 GLPK# 了。 我的整数程序看起来非常像这样: Maximise: X[0] +
我正在尝试解决 GLPK 中的问题,但它给了我这个消息“问题没有主要可行的解决方案”。您将在下面找到该程序。给我错误的约束是“约束 6”,但我不知道如何修复它。谢谢你们的帮助 param n, int
我希望这对某人来说是显而易见的。我只使用过 GLPK/MathProg。 我无法弄清楚 GNU MathProg(在 GLPK 内)中的语法来执行以下操作,例如: set PartsOfWeek; s
我刚刚编写了一个 python 脚本来使用 igraph 模块执行优化模块,这个函数使用了 GLPK 库,但是即使在安装了 python-glpk 和几乎所有与 glpk 相关的包之后我也会收到这个错
我无法在一个名为 dist 的包含示例上运行我通过 apt-get 安装的 GLPK 求解器 (glpsol)。它抛出以下内容: $ glpsol dist.mod GLPSOL: GLPK LP/M
我有一个线性问题,我想在 Java 上使用 GLPK 获得最佳对偶解决方案。我试过这个: parm = new glp_smcp(); parm.setMeth(GLPKConstants.GLP_D
我一直在尝试在我的 Haskell 项目中使用glpk-hs,但我完全不知道如何去做。我正在使用 stack 来运行我的程序,我的困惑很可能来自于我对其工作原理缺乏了解。 话虽这么说,我已经下载了gl
我在 Linux 下使用 GLPK 来解决一些线性规划问题。在我的一个限制中,我有: s.t. example: binary_var+binary_val 0 还是 1? 最佳答案 如果binary
我正在尝试在我的 java 项目中使用 GLPK。我点击了这里的链接https://wiki.nps.edu/pages/viewpage.action?pageId=113606659安装和配置 j
我正在使用 Glpk java,我必须解决这个问题(原始) \* Problem: Branch and Bound Problem *\ Maximize z: + 0.5 x1 + 0.5 x2
如何在我的控制台或文件上打印 java-glpk 中所有已解决的问题? 类似这样的事情:(此输出来自 gusek) ------ ------------ ------------- -----
GLPK 是否可以将解决方案分散到多个等成本变量上? 假设我在 myprog 中有这段代码: from pymprog import * begin() loads = var('loads', 3)
我在我的程序中使用 GNU 线性编程工具包。一切正常,但是当我用 valgrind 检查程序时,我发现了一些内存泄漏: ==7051== 160 bytes in 1 blocks are still
我正在使用 Glpk java 来解决 LP 松弛问题。 奇怪的是,有时它可以工作,但有时 JVM 会崩溃。当它崩溃时,我遇到了这个错误: # A fatal error has been detec
较新版本的 glpk 没有 LPX api,而旧版软件包需要它。我如何将旧包(如 COBRA )与新版本的 glpk 一起使用? 请注意,COBRA 可用于 MATLAB 和 Python。两者都需要
我正在尝试安装 sparkTable在依赖于 Rglpk 的 R 3.1.0 中.我在系统上手动安装了 GPLK 并将 libs 文件夹添加到 LD_LIBRARY_PATH在为 install.pa
我正在使用 GLPK C API 来解决混合整数规划问题。有没有办法以人类可读的格式打印目标/约束以进行调试? 最佳答案 也许最好的格式是 CPLEX LP format 。它看起来像这样: Maxi
我正在尝试在我的 java 项目中使用 GLPK。我点击了这里的链接https://wiki.nps.edu/pages/viewpage.action?pageId=113606659安装和配置 j
我找到了很多关于如何为求解器指定模型(问题/约束)和从数据文件读取参数的 GLPK for Java 示例,但关于编程参数输入/输出的内容很少。在我的例子中,我需要以编程方式将值(权重和值的数组)提交
我是一名优秀的程序员,十分优秀!