寻求支持无界浮点数指数运算的约束求解器(优先Zinc前端)
支持实数指数运算的约束求解器推荐
以下是能满足你需求的约束求解器选项,涵盖开源与商业类型,部分适配Zinc/MiniZinc前端:
开源求解器
- SCIP:一款功能全面的非线性规划/约束求解器,原生支持实数变量的幂运算约束(包括
x^x这类非线性表达式)。它可作为MiniZinc的后端使用,能直接处理你给出的示例模型。 - DReal:专注于实数域非线性约束的SMT求解器,支持指数、对数等超越函数,可直接求解
x^x = 27这类方程。它无需依赖Zinc前端,提供自有接口定义约束。 - Bonmin:基于COIN-OR框架的开源MINLP求解器,针对非线性场景设计,支持实数变量的幂运算约束。你之前尝试的COIN-BC仅针对线性问题,Bonmin定位不同,可处理这类非线性需求。
商业求解器
- CPLEX:IBM商业求解器,支持实数变量的非线性约束,兼容MiniZinc前端,能顺畅处理
x^x=27这类问题。 - Gurobi:商业级优化求解器,同样支持实数非线性约束,适配MiniZinc前端,高效处理指数运算类约束。
MiniZinc适配提示
若偏好Zinc/MiniZinc前端,需指定支持非线性约束的后端求解器(如SCIP、CPLEX、Gurobi)——你之前尝试的Gecode等默认求解器仅支持线性或有限非线性约束,无法识别float_pow操作。
例如,使用MiniZinc调用SCIP求解你的示例模型,可执行以下命令:
minizinc --solver scip your_model.mzn
内容的提问来源于stack exchange,提问作者P Varga
相关产品推荐
相关产品推荐

