Processing math: 100%

Thursday, October 6, 2016

Scheduling Business Dinners: an MINLP, MIQCP and MIP model

In (1) a problem is discussed where an optimization model can help us.

We want to set up N business dinners attended by customers and suppliers with the following peculiarities:

  • there are T tables,
  • we need to seat C customers and S suppliers,
  • at most Maxc customers and at most Maxs suppliers can sit at a single table,
  • a customer c and supplier s must sit at the same table exactly once,
  • two suppliers can only sit at the same table at most once

We want to minimize the number of dinners N we need to organize such that all these constraints are met.


Restaurant Flo in Barcelona, Spain [link]

The data

We use the example data from (1):

  • 6 customers, 5 suppliers
  • Maxc=3, Maxs=2
  • 2 tables

A (non-optimal) solution with 8 dinner rounds is given:

image

An MINLP model

We start with our central binary variable xi,t,n{0,1} indicating if person i sits at table t in dinner round n. With this we can develop a Mixed Integer Nonlinear Programming model:

minnynminimize number of dinner roundstxi,t,n1i,nsit at one tablesxs,t,nMaxst,nlimit suppliers at tablecxc,t,nMaxct,nlimit customers at tablet,nxc,t,nxs,t,n=1c,scustomers and suppliers meet exactly oncet,nxs1,t,nxs2,t,n1s1s2suppliers sit at most once at the same tableyn=maxi,t{xi,t,n}nwe need a dinner roundxi,t,n,yn{0,1}

The equations marked with a * are nonlinear. The variable yn indicates whether we need a dinner round n.

 

A non-convex MIQCP model

To implement the above MINLP we can apply a few modifications:

  • When we checked if suppliers s1,s2 are at the same table, we can skip checking s2,s1. Hence we only need to check suppliers s1,s2 with s1<s2. This saves us a number of equations.
  • The constraint yn=maxi,t{xi,t,n} can be written as a collection of inequalities ynxi,t,n (we use the objective to help us drive down yn).
  • Optionally we can require that ynyn+1, This makes the solutions more readable (we have the used dinner rounds first) but also reduces symmetry.
  • There are more symmetries in the model we can try to alleviate. E.g. order dinner rounds and order tables by some statistic.

We are now only left with quadratic terms in the constraints. Such a model is called a Mixed Integer Quadratically Constrained Problem (MIQCP). Although solvers like Cplex and Gurobi can solve convex MIQCPs, unfortunately this problem is non-convex. That means we need a global solver. The model below can be solved quickly with the solvers GloMIQO, Antigone and Baron. Interestingly, the global solver Couenne is struggling mightily with this model: it has troubles finding a feasible solution.

image

A linearized MIP model

The binary multiplication can be linearized using a standard reformulation:

z=xyx,y,z{0,1}zxzyzx+y1x,y,z{0,1}

Note that we need to apply this reformulation on the individual product terms in the two quadratic constraints. This means we need to introduce a number of additional variables in the model.

We can simplify the binary multiplication further in the supplier case: we only need to make sure that zx+y1. That will save us some constraints. The reason hat we can do this is that we have an inequality of the form ixiyi1 so we are only interested in the product terms that are forced to be one. Hence we have the two different cases:

ixiyi=1zixiziyizixi+yi1izi=1ixiyi1zixi+yi1izi1

I should note that I assume xi,yi,zi{0,1}. It is nice to see both constructs next to each other in one small model. The complete linearized model can look like:  

image

image

This model can now be solved with any MIP solver, including Cplex and Gurobi which were out of the picture for the MIQCP model formulation.

An optimal solution with 3 dinner rounds is:

image

 

References

  1. Alejandra Estanislao, Frédéric Meunier, “A Business Dinner Problem”, Journal of Combinatorial Mathematics and Combinatorial Computing, 97, 173-188, 2016. [link]

No comments:

Post a Comment