Menos desviaciones absolutas resolviendo utilizando el algoritmo de Barrodale-Roberts: ¿Terminación prematura?

9

Disculpe la pregunta larga, solo necesita alguna explicación para llegar al problema real. Aquellos familiarizados con los algoritmos mencionados probablemente podrían saltar directamente al primer tablau simplex.


Para resolver menos problemas desviación absoluta (también conocido como L1 -Optimización), el Barrodale-Roberts-algoritmo es método un propósito especial simplex que las necesidades de menos almacenamiento y esfuerzos computacionales para encontrar un mínimo adecuado.

Mi implementación del algoritmo termina en un ejemplo simple antes de alcanzar un mínimo apropiado. Sin embargo, probablemente permítanme decir primero el problema de una manera más elaborada:

Dada la información (Xyo,yyo) , la optimización de L1 intenta encontrar Cmetro que minimiza

yo=1norteEl |yyo-F(Xyo)El |conF(X): =UNAXϕ
dondeUNAX es unamatriznorte×metro que depende de alguna manera deX . Este problema puede expresarse como un programa lineal y, por lo tanto, entre otros, puede resolverse utilizando métodos simples.

Barrodale y Roberts sugirieron una modificación (aparentemente ampliamente utilizado) del método simplex que simplifica radicalmente el método simplex utilizando la estructura especial de -Problemas. En particular, esto es que una solución óptima interpola al menos r a n k ( A ) de los puntos de datos dados. Aquellos con acceso a Jstor pueden encontrar el artículo correspondiente aquí .L1runanortek(UNA)

Lei y Anderson en 2002 propusieron una pequeña modificación que se supone que aumenta la estabilidad numérica y, por lo tanto, supera los problemas conocidos con el algoritmo simplex.

Básicamente, este algoritmo asume que usted comienza con un conjunto dado de puntos que tienen que ser interpolados, usa los procedimientos dados para construir un cuadro simplex y luego usa las reglas de Barrodale y Roberts para decidir sobre qué variables cambiar y, por lo tanto, modificar el conjunto de puntos de datos que se aproxima.

Barrodale y Roberts dan un pequeño ejemplo que intenté reproducir. Intenta aproximar los puntos por una función a 1 + a 2 x . Terminan su algoritmo con el siguiente cuadro simple condensado:{(1,1),(2,1),(3,2),(4 4,3),(5 5,2)}una1+una2X

BaseRtu1tu3si11/ /23/ /2-1/ /2v21/ /21/ /21/ /2si21/ /2-1/ /21/ /2tu4 41/ /21/ /2-3/ /2v5 51-12Costo marginal2-10 0

Lo más importante es que el primer y el tercer punto están interpolados y el error general es igual a . Concluyen que2

Dado que todos los vectores no básicos tienen un costo marginal no positivo [...]

la iteración ha finalizado y se alcanza el óptimo.

Si uso el algoritmo de Lei y Anderson, puedo reproducir ese cuadro simplex para el conjunto de interpolación {1,3}, como se espera. Sin embargo, si comienzo el algoritmo con el conjunto (que claramente no es óptimo), obtengo el siguiente cuadro simplex:{2,5 5}

BaseRtu2tu5 5tu11/ /3-4 4/ /31/ /3si11/ /35 5/ /3-2/ /3tu32/ /3-2/ /3-1/ /3tu4 44 4/ /3-1/ /3-2/ /3si21/ /3-1/ /31/ /3Costo marginal7 7/ /3-10/ /3-5 5/ /3

tu2tu1

Información adicional: si comienzo con el cuadro inicial proporcionado por Barrodale y Roberts, también puedo reproducir el cuadro anterior mediante pasos simples simples, por lo tanto, estoy bastante seguro de que los valores numéricos reales son correctos y mi interpretación de la regla de selección de pivote es defectuoso.

Tiene alguna idea sobre esto?

Me doy cuenta de que la pregunta en sí misma es bastante complicada y probablemente requiere el conocimiento de al menos el algoritmo de Barrodale y Roberts para ser respondida suficientemente. El algoritmo en su conjunto es demasiado largo para repetirlo aquí con todo detalle. Sin embargo, si tiene preguntas adicionales sobre los pasos que tomé o sobre partes faltantes de información, no dude en preguntar y con gusto agrandaré la pregunta.

Thilo
fuente
Si alguien con suficiente reputación pudiera crear una etiqueta en la línea de "Desviaciones mínimas absolutas" o "Aproximación L1", estaría agradecido.
Thilo
La condición de optimización es que la solución básica debe ser factible (con respecto a sus restricciones de no negatividad) y que los costos reducidos deben ser menores o iguales a 0. Si su solución básica no es factible, todas las apuestas están canceladas.
Brian Borchers
La solución básica es factible por construcción. Por lo tanto, no debería haber ningún problema. Sin embargo, tengo una primera idea sobre dónde puede estar el problema. Agregaré una respuesta correspondiente si tengo razón.
Thilo

Respuestas:

4

Resuelto. En realidad, Barrodale y Roberts lo resolvieron y simplemente no leí con cuidado.

tuyoyotuyo=0 0vyo

sijCjtuyovyo

Por lo tanto, mi cuadro simplex anterior debe pensarse de la siguiente manera:

BaseRtu2tu5 5v2v5 5tu11/ /3-4 4/ /31/ /34 4/ /3-1/ /3si11/ /35 5/ /3-2/ /3-5 5/ /32/ /3tu32/ /3-2/ /3-1/ /32/ /31/ /3tu4 44 4/ /3-1/ /3-2/ /31/ /32/ /3si21/ /3-1/ /31/ /3-1/ /3-1/ /3Costo marginal7 7/ /3-10/ /3-5 5/ /34 4/ /3-1/ /3

v2

Gracias por leer y darme un lugar para escribir mi problema, lo que generalmente ayuda a reducir significativamente la solución. Con suerte, esta respuesta a veces podría ser útil para cualquier otra persona que intente implementar Barrodale & Roberts.

Thilo
fuente