In multi-objective optimization, several potentially conflicting objective functions need to be optimized. Instead of one optimal solution, we look for the set of so called non-dominated solutions. An important subset is the set of non-dominated extreme points. Finding it is a computationally hard problem in general. While solvers for similar problems exist, there are none known for multi-objective mixed integer linear programs (MOMILPs) or multi-objective mixed integer quadratically constrained quadratic programs (MOMIQCQPs). We present PaMILO, the first solver for finding non-dominated extreme points of MOMILPs and MOMIQCQPs. It can be found on github under github.com/FritzBo/PaMILO. PaMILO provides an easy-to-use interface and is implemented in C++17. It solves occurring subproblems employing either CPLEX or Gurobi. PaMILO adapts the Dual-Benson algorithm for multi-objective linear programming (MOLP). As it was previously only defined for MOLPs, we describe how it can be adapted for MOMILPs, MOMIQCQPs and even more problem classes in the future.
翻译:在多目标优化中,需要同时优化多个可能相互冲突的目标函数。我们寻找的不是单一最优解,而是所谓的非支配解集。其中重要的子集是非支配极值点集。寻找该集合通常是一个计算困难问题。尽管存在针对类似问题的求解器,但尚无已知求解器能处理多目标混合整数线性规划(MOMILP)或多目标混合整数二次约束二次规划(MOMIQCQP)。我们提出PaMILO——首个用于求解MOMILP和MOMIQCQP非支配极值点的求解器,其代码可在github.com/FritzBo/PaMILO获取。PaMILO提供易用接口,采用C++17实现,并通过CPLEX或Gurobi求解出现的子问题。该求解器针对多目标线性规划(MOLP)改进了Dual-Benson算法。鉴于该算法此前仅针对MOLP定义,我们阐述了如何将其适配至MOMILP、MOMIQCQP乃至未来更多问题类型。