- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在研究一些非常大规模的线性规划问题。 (矩阵目前大约为 1000x1000,这些是“迷你”矩阵。)
我以为我的程序运行成功了,只是我意识到我得到了一些非常不直观的答案。例如,假设我要根据一组约束 x+y<10 和 y+z <5 最大化 x+y+z。我运行它并获得最佳解决方案。然后,我运行相同的方程但具有不同的约束:x+y<20 和 y+z<5。然而在第二次迭代中,我的最大化减少了!
我已经煞费苦心地检查并确保约束正确加载。
有人知道问题出在哪里吗?
我在有关 lpx_check_kkt 的文档中找到了一些内容,它似乎可以告诉您您的解决方案何时可能是正确的或高置信度(或低置信度),但我不知道如何使用它。
我尝试并收到错误消息 lpx_check_kkt not defined。
我添加了一些代码作为附录,希望有人能发现错误。这样做的结果是它声称已找到最佳解决方案。然而,每次我提高上限时,它都会变得不太理想。
我已经确认我的界限在上升而不是下降。
size = 10000000+1
ia = intArray(size)
ja = intArray(size)
ar = doubleArray(size)
prob = glp_create_prob()
glp_set_prob_name(prob, "sample")
glp_set_obj_dir(prob, GLP_MAX)
glp_add_rows(prob, Num_constraints)
for x in range(Num_constraints):
Variables.add_variables(Constraints_for_simplex)
glp_set_row_name(prob, x+1, Variables.variers[x])
glp_set_row_bnds(prob, x+1, GLP_UP, 0, Constraints_for_simplex[x][1])
print 'we set the row_bnd for', x+1,' to ',Constraints_for_simplex[x][1]
glp_add_cols(prob, len(All_Loops))
for x in range(len(All_Loops)):
glp_set_col_name(prob, x+1, "".join(["x",str(x)]))
glp_set_col_bnds(prob,x+1,GLP_LO,0,0)
glp_set_obj_coef(prob,x+1,1)
for x in range(1,len(All_Loops)+1):
z=Constraints_for_simplex[0][0][x-1]
ia[x] = 1; ja[x] = x; ar[x] = z
x=len(All_Loops)+1
while x<Num_constraints + len(All_Loops):
for y in range(2, Num_constraints+1):
z=Constraints_for_simplex[y-1][0][0]
ia[x] = y; ja[x] =1 ; ar[x] = z
x+=1
x=Num_constraints+len(All_Loops)
while x <len(All_Loops)*(Num_constraints-1):
for z in range(2,len(All_Loops)+1):
for y in range(2,Num_constraints+1):
if x<len(All_Loops)*Num_constraints+1:
q = Constraints_for_simplex[y-1][0][z-1]
ia[x] = y ; ja[x]=z; ar[x] = q
x+=1
glp_load_matrix(prob, len(All_Loops)*Num_constraints, ia, ja, ar)
glp_exact(prob,None)
Z = glp_get_obj_val(prob)
最佳答案
首先使用不同的求解器求解有问题的实例并检查目标函数值。如果您可以将模型导出为 .mps 格式(抱歉,我不知道如何使用 GLPK 执行此操作),则可以将 mps 文件上传到 http://www.neos-server.org/neos/solvers/index.html并用几种不同的 LP 求解器求解。
关于python - GLPK线性规划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14982823/
我的代码中发生了一些奇怪的事情。我创建了一个函数来动态创建 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 示例,但关于编程参数输入/输出的内容很少。在我的例子中,我需要以编程方式将值(权重和值的数组)提交
我是一名优秀的程序员,十分优秀!