0
$\begingroup$

I am a network engineer facing a modeling challenge related to the delay constraints of a network transmission problem. My objective is to capture the behavior of transmission delays under different operating conditions $g_1,g_2,g_3,...g_i$ using a constrained optimization model.

The specific constraints I am working with is expressed as follows:

$\begin{array}{l} {x_1} = 1 \Rightarrow \left( {1 - 1} \right){d_{\min }} + {g_1} \le d_1 \le 1{d_{\max }}\\ {\rm{OR}}\\ {x_2} = 1 \Rightarrow \left( {2 - 1} \right){d_{\min }} + {g_2} \le d_2 \le 2{d_{\max }}\\ {\rm{OR}}\\ {x_3} = 1 \Rightarrow \left( {3 - 1} \right){d_{\min }} + {g_3} \le d_3 \le 3{d_{\max }}\\ {\rm{OR}}\\ ......................................................\\ {x_i} = 1 \Rightarrow \left( {i - 1} \right){d_{\min }} + {g_i} \le d_i \le i{d_{\max }} \end{array}$

  • $g_i$ represents a convex function of another variable linked to the operation of our system. Currently, we are still trying to construct a good $g_i$. And note that these $g_i$ change a lot from big to small or vice versa during the operation.
  • $d_i$ is a continuous decision variable with bound $d_\min$ and $d_\max$
  • $x_i$ is a binary decision variable indicating the choice of transmission mode.
  • $i$ is an index parameter that runs through the possible modes.
  • The final transmission delay is ${d_{{\rm{final}}}} = \min \left\{ {d_1,d_2,d_3,\dots,d_i} \right\}$

My question is about formulating these constraints.

Specifically, How can I express a chain of boolean ORs for the variable $d_i$ to be constrained within intervals as shown above? This formulation is critical for accurately modeling the delay based on the chosen transmission mode $x_i$.

Currently, I am having a global solver BARON/SCIP. I have check the seemingly related post here and here but I cannot find anyway to applied them to my problem.

Any insights or guidance on how to take on these optimization constraints would be greatly appreciated. Thank you for your time and assistance!

P/S: I know that there must be some kind of Big M formulation. If I know about $d_\min$ and $d_\max$, does this knowledge help me choose Big-M ?

$\endgroup$
7
  • $\begingroup$ If $d_i \le d_{max}$, then $d_i \le i \cdot d_{max}$ is redundant (and thus useless). $\endgroup$
    – Kuifje
    Commented Jul 28 at 11:54
  • $\begingroup$ Well that is only happens when $x_1 = 1$. If $x_2 = 1$ then $d_1 \le 2d_{max}$. $\endgroup$ Commented Jul 28 at 12:52
  • $\begingroup$ You asked for $$\bigvee_i \left(x_i = 1 \implies \left( (i - 1) d_\min + {g_i} \le d_i \le i d_\max\right)\right)$$ but do you maybe want $$\bigvee_i \left( (i - 1) d_\min + g_i \le d_i \le i d_\max\right)$$ instead? $\endgroup$
    – RobPratt
    Commented Jul 28 at 15:11
  • $\begingroup$ Well thank you so much ! In some case that will even work better ! Would you kindly turn it into an official answer ! $\endgroup$ Commented Jul 28 at 17:45
  • 1
    $\begingroup$ It would just be part 1 of the answer by @Kuifje, together with $\sum_i x_i \ge 1$. $\endgroup$
    – RobPratt
    Commented Jul 28 at 17:50

1 Answer 1

1
$\begingroup$

I suspect your problem is not well modeled. But if it is you could proceed in two steps:

  1. Enforce the implication $x_i=1 \implies L_i \le d_i \le U_i$ as follows: $$ L_i - M_i(1-x_i) \le d_i \le U_i + M_i (1-x_i) $$ where $L_i = (i-1)d_{min} +g_i$, $U_i=id_{max}$ and $M_i$ a big-M constant.
  2. Enforce $\bigvee_i\left(L_i - M_i(1-x_i) \le d_i \le U_i + M_i (1-x_i)\right)$ with: \begin{align} L_i - M_i(2-x_i-y_i) &\le d_i \le U_i + M_i (2-x_i-y_i) \\ \sum_i y_i &\ge 1 \end{align}
$\endgroup$
1
  • $\begingroup$ Thank you but when $\sum\limits_i {{y_i}} = 1$ does that mean we have exclusive or ? Also I do not understand why the boolean chain OR can be enforce by $\bigvee_i\left(L_i - M_i(1-x_i) \le d_i \le U_i + M_i (1-x_i)\right)$ $\endgroup$ Commented Jul 28 at 12:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.