是否可以针对包含线性和非线性元素的模型运行 Solver Foundation 求解器?

计算科学 优化 线性求解器 非线性规划
2021-12-27 16:56:49

这是我之前在 Solver Foundation 中提出的关于非线性方程和范围实数的问题的后续问题。

我承认,在可能的情况下,将非线性问题重写为线性问题可以避免一些问题,但是由于各种原因,这可能不是一个可行的选择。

我参与的项目要求从数据源生成一组约束。问题是约束可能是线性或非线性问题的混合。

我试图提出一组示例约束和变量来进行测试,希望能够更清楚地了解我想要实现的目标。有谁知道能够处理由变量和约束的组合生成的那种模型的求解器?我们目前正在使用 Solver 基础,并且一直在尝试各种配置和求解器类型。

例子:

一些参数被创建并绑定到一些任意值:

   P1 = 1 
   P2 = 2
   P3 = 3

一些决策的域指定为有限范围,在该范围内的每个值之间都有定义的步长值:

D1 (1..5) step of 0.1  //(e.g. 1, 1.1, 1.2 … 4.9, 5)
D2 (1..5) step of 1
D3 (10..20) step of 0.1

以下示例约束模拟可能从数据源获取的各种约束。在给定上述参数和决策变量的值的情况下,每个约束旁边是使用包含一个约束的模型运行求解器的预期结果。请注意,解决方案的质量与解决方案的质量无关,只要存在解决方案(可行)或不存在(不可行)即可。

C1: P1 = P2 * P3 (infeasible) 
C2: P3 = P1 + P2 (feasible)
C3: D1 = P1 * P2 (feasible)
C4: D3 = P1 * P2 (infeasible)
C5: P1 = D1 * D2 (feasible)
C6: P1 = D3 * D3 (infeasible)
C7: D3 = D1 * D2 (feasible)
C8: D2 = D3 * D3 (infeasible)
C9: P3 = P2 / P1 (infeasible)
C10: -P3 = P1 * D1 (infeasible)

任何指针或建议都会受到欢迎 :) 从 UI 背景转移到优化项目至少可以说是角色构建。

感谢:D。

0个回答
没有发现任何回复~