Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Matlab基于问题的公式转换为基于求解器的公式时的ILP变量映射_Matlab_Mathematical Optimization_Integer Programming_Mixed Integer Programming - Fatal编程技术网

将Matlab基于问题的公式转换为基于求解器的公式时的ILP变量映射

将Matlab基于问题的公式转换为基于求解器的公式时的ILP变量映射,matlab,mathematical-optimization,integer-programming,mixed-integer-programming,Matlab,Mathematical Optimization,Integer Programming,Mixed Integer Programming,我正在使用Matlab工具作为实现这一目标的“载体”来研究ILP。在更高的抽象层次上,它们既有传统的,也有传统的 SB和PB之间的区别在于,对于PB,用户不必担心什么问题变量映射到变量的ILP列向量的元素。优化问题对象接受符号形式的优化函数和等式/不等式约束,类方法处理定义问题变量列向量、优化函数系数以及等式和不等式约束的矩阵和关联RHS的簿记 通过使用从PB转换为SB,可以实际检查PB配方的SB对应物。不幸的是,prob2struct如何决定哪些PB变量映射到变量列向量的哪些元素尚不清楚 我尝

我正在使用Matlab工具作为实现这一目标的“载体”来研究ILP。在更高的抽象层次上,它们既有传统的,也有传统的

SB和PB之间的区别在于,对于PB,用户不必担心什么问题变量映射到变量的ILP列向量的元素。优化问题对象接受符号形式的优化函数和等式/不等式约束,类方法处理定义问题变量列向量、优化函数系数以及等式和不等式约束的矩阵和关联RHS的簿记

通过使用从PB转换为SB,可以实际检查PB配方的SB对应物。不幸的是,
prob2struct
如何决定哪些PB变量映射到变量列向量的哪些元素尚不清楚

我尝试搜索PB公式中的优化问题对象,以查看它是否包含自己的内部SB公式详细信息(无论它是否匹配
prob2struct
),或者至少包含变量映射。我找不到这样的细节


对于
prob2struct
,是否有可靠的规则让我们知道哪些符号PB变量映射到SB的变量列向量中的哪些元素?

试试这个函数。它是在R2019a中引入的。

@mcfeneton:谢谢,我不敢相信它在
prob2struct
页面中被正确引用了。在我的辩护中,我几乎看不到特写镜头,尽管有渐进式镜头。这对从事分析工作来说不是个好兆头。
doc
页面说返回的结果
idx
包含线性索引,但我想知道这是否也意味着多维ILP变量中的元素也是按线性索引顺序获取的,例如示例中的3x3变量
y
?这是了解映射到
idx
的关键细节。实际上,答案在
prob2struct
页面的算法部分。变量的显示顺序与
optiproblem
属性
variables
中的显示顺序相同。对于多维变量,元素对应于原型ILP问题中的标量变量,并按线性索引顺序获取。在我看来,这导致了关于变量在
optiproblem.variables
属性中是如何排序的问题,以及是否有任何方法可以控制排序。