Rsymphony中的有意不可行线性规划
我使用R中的Rsymphony包来实现一个混合整数程序。我希望能够迭代地放松我的一个约束,直到问题变得可行。为此,我希望能够: 通过Rsymphony_solve_LP将MILP的约束矩阵、目标函数等发送给SYMPHONY解算器 如果Rsymphony_solve_LP返回一个可行的解决方案或声明存在一个可行的解决方案,则我将终止该解决方案,用更严格的约束重建约束矩阵,然后通过Rsymphony_solve_LP重新发送到解算器 如果Rsymphony_solve_LP说问题不可行,我返回到最后一个可行约束矩阵并从那里求解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说问题不可行,我返回到最后
关于如何做到这一点,而不只是手动观看解算器并显示详细信息,有什么提示/技巧吗?另一块板上的海报提供了一个很好的方法。我重新制定了MILP,以便我要迭代的约束与“调优参数”连续决策变量相乘。我将在目标函数中加入一个与决策变量相关的惩罚项,以尽可能少地放松约束。其效果应该是约束放松到足够可行,但不能超过这一点