es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo convertir una declaración condicional “if-else” en restricciones de Programación Lineal?

¿Cómo escribir la siguiente condición if-else en Programación Lineal?

Si YR1 == 1, entonces 20 <= XR1 <= 80, de lo contrario XR1 = 0.

YR1 es una variable binaria, XR1 es una variable continua.

He intentado:

20 - XR1 <= 1000 * (1 - YR1)
80 - XR1 <= 1000 * (1 - YR1)

XR1 - 20 <= 1000 * YR1

¿Es esto correcto? Si no lo es, ¿cómo puedo convertir la afirmación a condiciones de programación lineal?

Tags:  ,

Answer

  1. Avatar for davy.ai

    No, las condiciones que escribiste no son correctas. Aquí está la forma correcta de escribir la condición if-else en Programación Lineal:

    XR1>=20*YR1
    XR1<=80*YR1
    XR1<=100*(1-YR1)
    XR1>=0
    

    Las primeras dos restricciones aseguran que si YR1=1, entonces XR1 está limitado entre 20 y 80. La tercera restricción establece XR1=0 si YR1=0. La última restricción garantiza que XR1 sea no negativo.

Comments are closed.