Máx. De una combinación convexa sobre un casco convexo de variables reales


8

Tengo el siguiente programa lineal: dondexRn,1Txdenota la suma de las entradas dex, yaes conocido y tiene entradas distintas estrictamente positivas.

MaximizeaTxSubject toxminxxmax1Tx=1
xRn1Txxa

Estoy buscando una forma rápida de resolver lo anterior sin usar un solucionador de LP. ¿Hay un procedimiento rápido a seguir? (además de Simplex).

¡Gracias!

Respuestas:


5

La solución óptima es la siguiente: establecer todas las variables iguales a sus mínimos. Luego, comenzando desde el más grande hasta el más pequeño, establezca iterativamente el correspondiente x i lo más grande posible hasta que presione i x i = 1 . Si i x i , m i n > 1 o i x i , m a x < 1, entonces el problema es inviable. Creo que esta es la misma solución que genera el algoritmo de Geoffrey Irving.aixiixi=1ixi,min>1ixi,max<1

La razón por la que esto funciona es que puede transformar su problema en la relajación LP del problema de la mochila 0-1 a través de

yi=xixi,minxi,maxxi,min.

En el espacio variable , el problema se convierte en Maximizar i c i y i Sujeto a 0 y i1 ,  para cada  iy

MaximizeiciyiSubject to0yi1, for each iibiyi=d,

donde , b i = ( x i , m a x - x i , m i n ) y d = 1 - i x i , m i n . Si el problema original es factible, entonces d 0ci=ai(xi,maxxi,min)bi=(xi,maxxi,min)d=1ixi,mind0. Las 'sy b i ' s no son negativas, por lo que tenemos la relajación LP de 0-1 mochila. (La expresión i a i x i , m i n también aparece técnicamente en el objetivo, pero como es una constante, podemos descartarla).cibiiaixi,min

Suponiendo que las variables están ordenadas por la relación cibi=aiy1=y2==yk=1kyk+1=di=1kbiyk+2==yn=0xEl espacio problemático variable proporciona la solución que acabo de describir.

=xixi,max<1


7

xiaixmaxxjajxminO(nlogn)aO(n)

xixmaxaixjxminajxkxmin<xk<xmaxai>ak>ajxxjxkxixk


x

Gracias por su respuesta. El enfoque parece interesante, pero secundo la solicitud de @ArnoldNeumaier de proporcionar un argumento.
Mohammad Fawaz

Cambia dos componentes por iteración, por lo que no estoy seguro de lo que quieres decir con no correcto si se toma literalmente. Agregaré una breve explicación.
Geoffrey Irving

xiiij

Ah, tienes razón sobre lo mismo en cada iteración. Debería arreglarse ahora.
Geoffrey Irving
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.