Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.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
Rsymphony中的有意不可行线性规划_R_Algorithm_Optimization_Linear Programming - Fatal编程技术网

Rsymphony中的有意不可行线性规划

Rsymphony中的有意不可行线性规划,r,algorithm,optimization,linear-programming,R,Algorithm,Optimization,Linear Programming,我使用R中的Rsymphony包来实现一个混合整数程序。我希望能够迭代地放松我的一个约束,直到问题变得可行。为此,我希望能够: 通过Rsymphony_solve_LP将MILP的约束矩阵、目标函数等发送给SYMPHONY解算器 如果Rsymphony_solve_LP返回一个可行的解决方案或声明存在一个可行的解决方案,则我将终止该解决方案,用更严格的约束重建约束矩阵,然后通过Rsymphony_solve_LP重新发送到解算器 如果Rsymphony_solve_LP说问题不可行,我返回到最后

我使用R中的Rsymphony包来实现一个混合整数程序。我希望能够迭代地放松我的一个约束,直到问题变得可行。为此,我希望能够:

通过Rsymphony_solve_LP将MILP的约束矩阵、目标函数等发送给SYMPHONY解算器

如果Rsymphony_solve_LP返回一个可行的解决方案或声明存在一个可行的解决方案,则我将终止该解决方案,用更严格的约束重建约束矩阵,然后通过Rsymphony_solve_LP重新发送到解算器

如果Rsymphony_solve_LP说问题不可行,我返回到最后一个可行约束矩阵并从那里求解


关于如何做到这一点,而不只是手动观看解算器并显示详细信息,有什么提示/技巧吗?

另一块板上的海报提供了一个很好的方法。我重新制定了MILP,以便我要迭代的约束与“调优参数”连续决策变量相乘。我将在目标函数中加入一个与决策变量相关的惩罚项,以尽可能少地放松约束。其效果应该是约束放松到足够可行,但不能超过这一点