2
$\begingroup$

I have nonlinear constraints:

\begin{equation} \sum_{i} \dfrac{X_{ij}^{t}}{r_{ij}} \le T_{disp1} * w_{t} * NN_{j}^{t} * \overline{\mu}_{j} \quad \forall j \ ,\ t \end{equation}

\begin{equation} O_{j}^{t} = NN_{j}^{t} * K_{j} * w_{t} \quad \forall j \ , \ t \end{equation}

\begin{equation} X_{ij}^{t} \geq 0 \quad \ NN_{j}^{t}; w_{t}; O_{j}^{t} \in Z^{+} \end{equation}

I want to convert these constraints (the product of variables exactly is w * NN ) in a linear problem for programming and solve.

Thank you

$\endgroup$

1 Answer 1

1
$\begingroup$

I'm going to drop the subscripts and superscripts for $NN$ and $w$ and just show how to handle one product $w\cdot NN$. I'm also going to assume that both $NN$ and $w$ have known upper bounds.

Step 1 is to introduce binary variables $x_i$ and $y_j$, along with the constraints $$w=\sum_{i=0}^I 2^i x_i$$ and $$NN=\sum_{j=0}^J 2^j y_j.$$The values of $I$ and $J$ depend on the bounds for $w$ and $NN$. Also introduce a variable $s \ge 0$ to represent the product: $s = w\cdot NN$. ($s$ will be integer-valued, but you can declare it as a continuous variable.)

Next, for each pair $(i,j)\in \{0,\dots,I\}\times \{0,\dots,J\}$, introduce a continuous variable $z_{ij}\in [0,1]$ along with the constraints $$z_{ij} \le x_i$$ $$z_{ij}\le y_j$$and $$z_{ij}\ge x_i + y_j - 1.$$These enforce $z_{ij} = x_i y_j$. Finally, add the following:$$s = \sum_{i=0}^I\sum_{j=0}^J 2^{i+j}z_{ij}.$$

$\endgroup$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.