[R-es] optimización - resolver sistema - general

Luis Mariano Esteban lmeste en unizar.es
Mie Dic 17 12:28:50 CET 2014


Hola Javier,
te doy mi opinión, para programación lineal te recomiendo la librería
lpSolve, podrás trabajar con variables continuas, enteras o binarias, y
además puedes hacer el análisis de sensibilidad sin problemas. No uses la
librería linprog porque tiene fallos, la solución es mas sencilla de
interpretar, pero ellos mismos advierten de que en algunos casos puede
fallar.

Para problemas de programación no lineal, si quieres resolución numérica,
con todos los problemas que esto puede llevarte, yo he usado Rsolnp,
resulta sencillo definir la función objetivo y las restricciones aunque la
solución depende del punto inicial para aplicar el método, no te recomiento
la libreria alabama porque no trata con restricciones de igualdad.

Un saludo

El 17 de diciembre de 2014, 11:15, rubenfcasal <rubenfcasal en gmail.com>
escribió:
>
> Hola a todos,
>
>      Simplemente comentar que me tengo encontrado con muchos problemas
> de optimización. Mi recomendación general, en el caso multidimensional y
> si el tiempo de computación es importante, sería buscar un algoritmo
> diseñado para el tipo de problema (evitar los algoritmos más generales
> tipo optim si puede haber problemas de mínimos locales).  Algunos casos
> que tengo resuelto con R incluirían programación cuadrática (e.g.
> quadprog), Levenberg-Marquardt para mínimos cuadrados no lineales  (e.g.
> minpack.lm) y combinaciones de algoritmos (p.e. si la función es lineal
> en algunos parámetros).
>
>      En el caso más general, si hay muchos óptimos locales o si la
> función objetivo es poco suave (incluso con discontinuidades), mi
> recomendación sería emplear un algoritmo genético (aunque hay otras
> alternativas como el temple simulado - simulated annealing). El
> inconveniente puede ser el tiempo de computación (a veces solo los
> utilizo para testear si otros más rápidos funcionan bien). De los
> disponibles en R mi recomendación (en estos momentos) sería emplear el
> paquete DEoptim.
>
>      Un saludo,
>          Rubén.
>
> P.D. Por cierto, yo empleaba antes mucho un algoritmo genético
> (realmente micro-genético) escrito en FORTRAN con muy buenos resultados.
> Si alguien quiere probar a implementarlo en R puede contactar conmigo...
>
>
> El 17/12/2014 3:43, "Marcuzzi, Javier Rubén" escribió:
> > Algo m?s concreto en R porque creo que no me explico correctamente:
> >
> > Por ejemplo, la librer?a limSolve, en la p?gina 4 del manual tiene:
> >
> > Blending
> > A linear inverse blending problem
> >
> > El sitio web es:
> > http://cran.r-project.org/web/packages/limSolve/limSolve.pdf
> >
> > El ejemplo en R est? "bueno", pero yo no soy matem?tico ni estad?stico,
> > soy veterinario, por lo cu?l donde en este ejemplo dice m?nimo yo
> > tambi?n tengo maximo y unas relaci?nes un poco m?s complejas, para
> > continuar con el mismo ejemplo se encuentra todo lo que es nutrici?n
> > animal y los distintos modelos para llevar a un lenguaje matem?tico lo
> > que pasa en la biolog?a.
> >
> > Por lo cu?l busco sugerencias a partir de la experiencia de otros sobre
> > que librer?as en R les parecen m?s adecuadas que otras para este tipo de
> > problemas.
> >
> > Javier Marcuzzi
> >
> > El 16/12/2014 a las 09:33 p.m., "Marcuzzi, Javier Rub?n" escibi?:
> >> Estimados
> >>
> >> Reailizo una pregunta general, casi desconociendo. Se me ocurri?
> >> explorar lo siguiente: hay ejemplos de programaci?n lineal o
> >> utilizando la herramienta solver de excel, donde se realizan algunos
> >> c?lculos, lo m?s sencillo de comprender y documentado (todos lados) es
> >> una cantidad de productos, un costo de compra, un costo de venta, una
> >> cantidad para invertir y ?cu?nto me conviene para ...?, buscando la
> >> maximizaci?n de la ganancia o la minimizaci?n del precio.
> >>
> >> En R hay referencias en
> >> http://cran.r-project.org/web/views/Optimization.html
> >>
> >> Mi pregunta va en dos partes, la primera es ?cual de las herramientas
> >> que est? en el listado del link o alguna otra para resolver el m?nimo
> >> costo recomendar?an?
> >>
> >> Mi segunda pregunta es: ?y si hay varias relaci?nes no lineales?, por
> >> lo que la programaci?n lineal de la mayor?a de los ejemplos donde
> >> buscan el m?nimo costo no ser?a apropiado. Lo que busco es utilizar
> >> modelos animales, donde tendr?a algo como un objetivo a buscar muy
> >> semejante al m?nimo costo, pero con varias variables, partes que no
> >> son descriptas por modelos lineales, otras con restricci?nes, por
> >> ejemplo consumir m?s de y menos de.
> >>
> >> Puede ser que no explique correctamente, es complicado cuando los
> >> libros espec?ficos tienen m?s de 400 paginas llenas de n?meros y
> >> ecuaci?nes, y pretender optimizar de acuerdo a todo esto.
> >>
> >> Posiblemente un economista tenga claro por donde buscar para reducir
> >> costos u optimizar ganancias, que herramientas de R son recomendables
> >> sobre otras, algo que los que venimos de las ?reas biologicas no
> >> tenemos con la misma claridad. En mi cabeza me es m?s f?cil simular,
> >> pero de pronto hay otas formas que por no explorarlas ...
> >>
> >> ?Sugerencias?
> >>
> >> Gracias
> >>
> >> Javier Marcuzzi
> >
> >       [[alternative HTML version deleted]]
> >
> >
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>

-- 
Luis Mariano Esteban Escaño
Escuela Universitaria Politécnica de La Almunia
Tlfno. 976600883 Ext.121
C/ Mayor s/n 50100 La Almunia de Doña Godina
Universidad de Zaragoza

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es