# Difference between revisions of "Mixed-integer linear fractional programming (MILFP)"

uthor: Xiang Zhao (SysEn 6800 Fall 2020)

Steward: Allen Yang, Fengqi You

## Introduction

The mixed-integer linear fractional programming (MILFP) is a kind of mixed-integer nonlinear programming (MINLP) that is widely applied in chemical engineering, environmental engineering, and their hybrid field ranging from cyclic-scheduling problems to the life cycle optimization (LCO). Specifically, the objective function of the MINFP is shown as a ratio of two linear functions formed by various continuous variables and discrete variables. However, the pseudo-convexity and the combinatorial nature of the fractional objective function can cause computational challenges to the general-purpose global optimizers, such as BARON, to solve this MILFP problem. In this regard, we introduce the basic knowledge and solution steps of three algorithms, namely the Parametric Algorithm, Reformulation-Linearization method, and Branch-and-Bound with Charnes-Cooper Transformation Method, to efficiently and effectively tackle this computational challenge.

## Standard Form and Properties

Consider such standard form of the MILFP:

{\displaystyle {\begin{aligned}\max \quad \mathbb {Q} (x,y)={c_{0}+\sum _{i}c_{1,i}m_{i}+\sum _{j}c_{2,j}y_{j} \over d_{0}+\sum _{i}d_{1,i}m_{i}+\sum _{j}d_{2,j}y_{j}}\\s.t.\quad \ a_{0,k}+\sum _{i}a_{1,i}m_{i}+\sum _{j}a_{2,j}y_{j}=0,\quad \forall k\in K\\m_{i}\geq 0,\quad \forall i\in I\\y_{j}\in {0,1},\quad \forall j\in J\end{aligned}}}

The properties of the objective function ${\displaystyle \mathbb {Q} (x,y)}$ are shown as follows:

1. Numbered list item ${\displaystyle \mathbb {Q} (x,y)}$ is (strictly) pseudoconcave and pseudoconvex over its domain.
2. Numbered list item The local optimal of ${\displaystyle \mathbb {Q} (x,y)}$ is the same as its global optimal.

Notably, several nonlinear solvers that can deal with the pseudoconvexity, such as the spatial branch-and-bound (SBB), are capable of solving the MILFP. However, the memory usage of these solvers is enormous when solving a large-scale problem that is applied in industrial scheduling or supply chain optimization project. Hence, we introduce the parametric algorithm, and reformulation-linearization method, which can reformulate the MILFP into the mixed-integer linear programming (MILP) problem, to reduce the memory usage and enhance solution efficiency.

## Parametric Algorithm

One way to successively reformulate and solve the MILFP is to apply the parametric algorithm, which can find the global optimality within finite iterations. The linearly parametric form of the reformulated objective function has the advantage of directly finding the global optimality, while the size of the sub-problem remains the same. The reformulation approach is shown as follows:

The original form of the objective function is: ${\displaystyle \quad \mathbb {Q} (x,y)={c_{0}+\sum _{i}c_{1,i}m_{i}+\sum _{j}c_{2,j}y_{j} \over d_{0}+\sum _{i}d_{1,i}m_{i}+\sum _{j}d_{2,j}y_{j}}}$

We use a parametric parameter ${\displaystyle q}$ to reformulate the objective function ${\displaystyle \mathbb {Q} (x,y)}$ into ${\displaystyle \S (x,y,q)}$:

${\displaystyle \max \quad \mathbb {Q} (x,y)={A(x,y) \over B(x,y)}}$

is reformulated into

${\displaystyle \max \quad \S (x,y,q)=A(x,y)-q*B(x,y)}$

${\displaystyle A(x,y)={c_{0}+\sum _{i}c_{1,i}m_{i}+\sum _{j}c_{2,j}y_{j}}}$

${\displaystyle B(x,y)={d_{0}+\sum _{i}d_{1,i}m_{i}+\sum _{j}d_{2,j}y_{j}}}$

Notably, the optimal solution of the parametric objective function ${\displaystyle \S (x,y,q)}$ has only one zero-point, which is the same as its global optimal solution. Hence, we need to find the zero-point iteratively following the approaches below:

1. Numbered list item Initialize the parametric parameter ${\displaystyle q=0}$. Set the tolerance ${\displaystyle tol=10^{-}6}$
2. Numbered list item Solve the sub-problem via using CPLEX, whose objective function is ${\displaystyle \S (x,y,q)}$ with the same original constraints. The optimal solution is ${\displaystyle x*,y*}$.
3. Numbered list item Calculate the value of parametric objective function ${\displaystyle \S (x*,y*,q)=A(x*,y*)-q*B(x*,y*)}$, if the value is within the tolerance ${\displaystyle tol}$, then the optimality ${\displaystyle (x*,y*)}$ is found.
4. Numbered list item Update the parametric parameter ${\displaystyle q={A(x*,y*) \over B(x*,y*)}}$ and redo step 1.

## Reformulation-Linearization Method

The reformulation-linearization method, which incorporates the Glover’s linearization into the Charnes-Cooper transformation, introduce auxiliary variables to reformulate the MILFP into equivalent MINLP. The resulting MINLP is subsequently transformed into MILP, which can be efficiently solved by typical MILP solvers like CPLEX, via using Glover’s linearization.The reformulation approach is shown as follows:

The original form of the optimization model is:

{\displaystyle {\begin{aligned}\max \quad \mathbb {Q} (x,y)={c_{0}+\sum _{i}c_{1,i}m_{i}+\sum _{j}c_{2,j}y_{j} \over d_{0}+\sum _{i}d_{1,i}m_{i}+\sum _{j}d_{2,j}y_{j}}\\s.t.\quad \ a_{0,k}+\sum _{i}a_{1,i}m_{i}+\sum _{j}a_{2,j}y_{j}=0,\quad \forall k\in K\\m_{i}\geq 0,\quad \forall i\in I\\y_{j}\in {0,1},\quad \forall j\in J\end{aligned}}}

Firstly, we convert the fractional objective function into a bilinear constraint, as well as a substutional term ${\displaystyle g_{i}}$:

${\displaystyle u={1 \over d_{0}+\sum _{i}d_{1,i}m_{i}+\sum _{j}d_{2,j}y_{j}}}$

${\displaystyle g_{i}={m_{i}*u}}$

${\displaystyle h_{j}={y_{j}*u}}$

To get the MILP equivalent model, we use the Glover's Linearization to transform the bilinear constraint (${\displaystyle h_{j}={y_{j}*u}}$):

${\displaystyle h_{j}={y_{j}*u}}$

is equivalent to

${\displaystyle h_{j}\leq u,\quad \forall j\in J}$

${\displaystyle h_{j}\leq M*y_{j},\quad \forall j\in J}$

${\displaystyle h_{j}\geq u-M*y_{j},\quad \forall j\in J}$

${\displaystyle h_{j}\leq M*y_{j},\quad \forall j\in J}$

      s.t.\quad\ a_{0,k}+\sum_{i}a_{1,i}m_i+\sum_{j}a_{2,j}y_j=0,\quad   \forall k \in K\\

      m_i\ge0,\quad \forall i \in I\\

y_j\in {0,1},\quad \forall j \in J \[/itex]