4 votos

Conversión de las restricciones if else en lineales

Tengo las dos restricciones siguientes:

$$ x_1 \leq x_2 \leq x_3 \qquad \mbox{if } x_1 \leq x_3 \\ x_1 > x_2 > x_3 \qquad \mbox{otherwise} $$

¿Hay alguna forma de eliminar las dos condiciones y acabar sólo con la(s) restricción(es) lineal(es)?

0 votos

Sólo por curiosidad, ¿en qué tipo de problema estás utilizando esa restricción? ¿qué estás representando, si se puede saber?

0 votos

Oh, las x son esencialmente variables de diseño de escala aplicadas en la dirección de la cuerda de un ala (para lograr una conicidad no lineal). Las restricciones anteriores pretenden forzar a una variable de diseño de escala a permanecer siempre entre los límites de las otras dos que la intercalan. Lo necesitaba para intentar eliminar los "zigzags" en el gráfico de escala vs. envergadura. Por cierto, me gusta mucho cómo conviertes mi problema en uno de mínimo/máximo, pero si lo entiendo bien tendría que introducir variables de "holgura", lo que desgraciadamente no es lo ideal para mí.

1voto

Eric Le Merdy Puntos 89

Una solución, quizá no la más eficiente, puede ser la siguiente: su restricción puede reescribirse como

$$ \min(x_1, x_3) \leq x_2 \leq \max(x_1,x_3) $$

por lo tanto, se pueden introducir dos variables positivas $t$ y $k$ tal que:

$$ t \leq x_1 \\ t \leq x_3 \\ k \geq x_1\\ k \geq x_3 $$

Poner $t$ y $k$ en la función objetivo con los coeficientes adecuados, se puede acabar con $t = \min(x_1,x_3)$ y $k = \max(x_1,x_3)$ . Así que su restricción se convierte en: $$ t \leq x_2 \leq k$$

0voto

mathreadler Puntos 3517

Lo que dices con las restricciones es básicamente que tienes dos casos, y en ambos casos necesitas $x_2$ para estar en el medio $x_3$ y $x_1$ .

Una forma de linealizar esto es decir que queremos minimizar $$\epsilon\left|\frac{x_3+x_1}{2} - x_2\right|$$ es decir, empujar $x_2$ para acercarse al valor medio (aritmético) de $x_1$ y $x_3$ . Tal vez se pueda derivar el tamaño $\epsilon$ son adecuados. Demasiado grandes y $x_2$ sería forzado a ser exactamente el valor medio.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X