MINLP instead of indicator constraints?

· Source: Yet Another Math Programming Consultant · Field: Technology & Digital — Operations Research & Optimization · Depth: Advanced, medium

Summary

The article explores an alternative to traditional indicator constraints in Mixed-Integer Programming (MIP) by proposing their replacement with simple multiplications, which converts the problem into a Mixed-Integer Nonlinear Program (MINLP). Indicator constraints, defined as implications like "δ=0 => linear constraint", offer benefits such as mitigating numerical issues associated with big-M constraints and providing a convenient modeling abstraction. However, they are limited to linear constraints and single binary variables. The proposed MINLP approach, exemplified by transforming "δ=1 => x ≤ y" into "x·δ ≤ y·δ", introduces non-linearities. Using a location selection problem (maximizing minimum distance for k out of n locations), four models were compared: MIP with indicators, two MINLP variants, and a MIP with tightened big-M constraints. Experiments with n=50, k=10 and n=100, k=15 revealed that MINLP models, solved by Baron, performed surprisingly well, often with a single node, and sometimes outperformed Cplex using indicator variables. Nevertheless, the MIP model employing carefully tightened big-M constants consistently achieved the fastest solution times.

Key takeaway

For optimization modelers struggling with complex indicator constraints or big-M numerical instability, consider formulating these implications as MINLP multiplications. While seemingly unconventional, experiments show MINLP solvers like Baron can achieve competitive or even superior performance compared to MIPs with indicators, especially when big-M constants are not optimally tightened. You should benchmark this approach against traditional MIPs, particularly for problems where indicator constraints are difficult to linearize.

Key insights

Replacing indicator constraints with direct multiplication creates competitive MINLP models.

Principles

Method

Indicator constraints "δ=1 => x ≤ y" can be replaced by "x·δ ≤ y·δ" or "x·(1-δ) ≤ y·(1-δ)" for "δ=0", converting MIPs to MINLPs. Multiplying both sides is more general.

In practice

Topics

Best for: Research Scientist, AI Scientist, Consultant, Software Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by Yet Another Math Programming Consultant.