问题标签 [mathprog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ampl - mathprog 中矩阵的“预计算”
我在 MathProg 中有一个域问题公式,其中成本函数使用几何距离。数据集仅包含 X、Y 坐标,而不包含实际距离。现在,我的公式直接计算距离:
而且我想知道,MathProg 编译器是否足够聪明,可以看到 sqrt 内部的表达式是常量,因此可以预先计算整个事情,或者它是否每次都重新计算表达式,我怎样才能把它写得更优雅方式。
cplex - 如何在命令行上将 cplex *.mod 文件转换为 glpk *.mod 文件?
我想使用任何开源求解器将 cplex .mod 和 .dat 文件转换为 glpk .mod 和 .dat(单独的模型和数据文件),然后使用不同的数据文件编译模型,最好使用 glpsol。据我所知,glpsol 没有为 opl cplex .mod 文件提供读取命令。我不想通过 oplrun 导出 mps 或 lp 文件,然后转换为 glpk .mod 文件,因为 cplex 不是开源的,并且 lp/mps 格式不会单独转换模型和数据文件。
glpk - 解决后 GLPK 变量似乎发生了变化
我一直在经历 a 的奇怪行为glpsol
,更准确地说是它的一个变量。我使用运行命令glpsol -m sol.mod
输入,在文件中sol.mod
:
输出:
问题似乎是a[1]
被评估为2,而-a[1]
被评估为-1。a[3] 也等于 2,因此不满足约束 p1x3。
目前我不知道如何解决这个问题,甚至不知道是什么原因造成的。
set - 在 GLPK-> 文字集中的语法错误中声明 3 个集合
我有这个小代码:
问题出在 s 上,它总是说 drdrd.mod:13: syntax error in literal set ,如果我将 G 中的 g 更改为 J 中的 j,一切正常。不可能有3个不同的集合吗?
还有一个我无法解决的问题,如果我在 I 中放入 2 而不是 i,在 I 中放入 2(因为我想考虑前 2 个数字),它也会显示相同的错误消息。
谢谢你的时间。
constraints - GLPK/GPL:最小化目标函数但保持 > 0
我正在尝试最小化具有三个参数的目标函数:i,p,j,如下所示:
但目标函数必须大于 0,否则会违背我的最小化目的。
我试图通过在目标函数上添加一个约束来确保这一点:
但我收到以下错误:
甚至有可能做到这一点吗?感谢您的任何帮助/建议!
grammar - 无法弄清楚如何解决减少/减少冲突
我正在尝试从 glpk 包https://www3.nd.edu/~jeff/mathprog/glpk-4.47/doc/gmpl.pdf
为 GNU MathProg 语言创建语法
不幸的是,到目前为止我写的语法是模棱两可的。当使用某些标识符时,我不知道如何告诉野牛解析树的哪个分支是正确的。例如:
标识符只是“变量”的名称。变量具有特定类型(参数、集合、决策变量)并且可能被索引。在代码中,程序员必须在语句中声明变量类型,例如。
但是当野牛看到标识符不知道应该使用哪个规则并且我得到减少/减少冲突时
我还有其他问题,但这对我来说是个障碍
ampl - 它不应该查看的列是“域外”
我收到以下域外错误,见下文。问题是,在引用的行中,q 来自 Qualities 集,它甚至不包含 LAT 值。如何防止这种情况发生,并将所有数据保存在一个表中?我一直在尝试使用单独的表格来解决它latdata
,但这对我来说看起来很丑陋和多余。
ron.mod 的来源如下:
indexing - 如何在 GLPK 中不为其创建参数的情况下对索引变量进行聚类?
我在 MLP 上有以下问题。
我想对一些具有相同值的变量进行聚类,例如 a[i]=a[i(1..i]],这意味着检查相同的变量。这将是初始 if 条件。
例如:a[2]=3;a[4]=3 -> 这两个变量的条件为真。
稍后,如果该条件为真,我想添加以下内容:
D[i]=D[i]+D[1..i],对于那些在前一个条件下为真的 i。
例如:D[2]=D[2]+D[4]。
问题是,由于覆盖了 D[2] 的新值,GLPK 不再解决最优模型,这让我想知道是否可以在不创建新变量的情况下对索引变量进行聚类,如果不是,什么可能是一个解决方案。
非常感谢您的帮助, 。
linear-programming - 冒号在预期的地方丢失 - gusek
我是这个名为 gusek 的程序的新手,我正在尝试运行下一个公式:
它给了我“or_vaja.mod:1:预期的地方缺少冒号”错误。
有什么帮助吗?