close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 13 years ago

Last modified 13 years ago

#1406 new task

Optimización de funciones arbitrarias de dominio mixto entero-real

Reported by: Víctor de Buen Remiro Owned by: Víctor de Buen Remiro
Priority: highest Milestone: TOL Packages
Component: Math Version: head
Severity: blocker Keywords:
Cc: imendez, Javier Gallardo

Description

Es necesario incorporar en TOL un mecanismo para la optimización de funciones arbitrarias de dominio mixto entero-real que no precise conocimientos más allá de la propia función objetivo.

Change History (1)

comment:1 Changed 13 years ago by Víctor de Buen Remiro

Cc: imendez Javier Gallardo added

He hecho una exploración de paquetes de optimización mixta con los siguientes resultados:

  • Los paquetes de optimización mixta del COIN-R requieren la definición del gradiente y el hessiano de la función objetivo y las restricciones en las variables no enteras, por lo que no son adecuados para el tipo de problema del que estamos hablando.
  • De entre los meta-heurísticos, también dentro del COIN-R
    • el OTS está escrito en java por lo cual ya lo descarto pues es menos eficiente y es más complicado de incorporar, y
    • el Djinni no tiene documentación de ningún tipo por lo que sería una pérdida de tiempo.
  • También he buscado en otros sitios métodos meta-heurísticos que he descartado por diferentes motivos:
    • Opt4J: escrito en JAVA
    • JECoLi: escrito en JAVA
    • Ant Colony Optimization: son bastante eficientes pero los paquetes están orientados al problema del transporte y sus variantes por lo que no creo que fuera fácil adpatarlos.

Sólo queda de los que he visto el paquete meta-heurístico Metslib que está escrito en C++ y permite definir cualquier tipo de problema de forma independiente del algoritmo elegido de entre una batería de opciones bastante amplia:

  • Simple local search
  • Simulated Annealing
  • Tabu Search.
  • Random Restart Local Search
  • Variable Neighborhood Search
  • Iterated Local Search
Note: See TracTickets for help on using tickets.