20151ICN343V003 Diapositivas Clase AMPL

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

Clase Introductoria AMPL

Javier Ramos - Jorge Weston


Departamento de Industrias, Universidad T
ecnica Federico Santa Mara, Chile

2 de junio de 2015

Javier Ramos - Jorge Weston

Gesti
on de Operaciones I

Introducci
on

Estructura General

APLICACIONES

AMPL

AMPL: A Modeling Language For Mathematical Programming

AMPL es un lenguaje de modelado algebraico especializado en la formulaci


on de modelos de optimizaci
on y programaci
on matem
atica. Permite
formular modelos con notaci
on com
un y conceptos matem
aticos familiares.
Es posible aplicarlo problemas de optimizaci
on lineal y no lineal, en
variables continuas o Discretas (enteras). La resoluci
on de estos problemas es mediante solvers especializados para cada caso, estos traducen
la informaci
on del modelo matem
atico y los datos del problema a lenguaje m
aquina, que es el que utilizan los computadores para obtener la
soluci
on.
Los modelos en AMPL envuelven variables, restricciones y una funci
on
objetivo, expresados con la ayuda de conjuntos y par
ametros. A todo lo
anterior se les llama elementos del modelo.

Introducci
on

Estructura General

APLICACIONES

AMPL

SOLVERS con los que trabaja AMPL

Algunos de los SOLVERS ocupados por AMPL, y su aplicaci


on, se
muestran a continuaci
on:
GUROBI : problemas de programaci
on lineal, y programaci
on lineal
entera mixta.
MINOS : problemas de programaci
on lineal y no lineal.
CPLEX : problemas de programaci
on lineal, y programaci
on lineal entera mixta.
IPOPT : problemas de programaci
on no lineal
DONLP2 : problemas de programaci
on no lineal
En este curso, los SOLVERS que se utilizar
an principalmente son CPLEX y
MINOS

Introducci
on

Estructura General

APLICACIONES

TIPOS DE ARCHIVO

Tipos de archivo

Tanto el modelo como los datos del problema, son escritos en un procesador
de texto (bloc de notas), pero guardados con las siguientes extensiones:
.mod : donde se aloja el modelo.
.dat : donde se escribe la data.
.run : se escriben las distintas instrucciones y condiciones bajo las
cuales se ejecutar
a el modelo.

Introducci
on

Estructura General

APLICACIONES

TIPOS DE ARCHIVO

Archivo .mod

El orden de los elementos dentro del c


odigo del archivo .mod, debe presentar
la siguiente estructura:
Conjuntos
Par
ametros
Variables
Funci
on objetivo
Restricciones

Introducci
on

Estructura General

APLICACIONES

TIPOS DE ARCHIVO

Archivo .mod

Declaraci
on de conjuntos
set NOMBRE CJTO;
Declaraci
on de Par
ametros
set NOMBRE PARAM {conjunto al que esta indexado} := VALOR;
Alternativamente el valor del par
ametro puede escribirse en el archivo
.dat

Introducci
on

Estructura General

APLICACIONES

TIPOS DE ARCHIVO

Archivo .mod

Declaraci
on de Variables
var NOMBRE {cjto} atributos;
Dentro de los atributos (los cuales deben ir separados por comas) se
encuentran:
binary
integer
>= expr
<= expr
:= expr

Introducci
on

Estructura General

TIPOS DE ARCHIVO

Archivo .mod

Declaraci
on de Funci
on Objetivo
maximize NOMBRE F.O : expresion;
minimize NOMBRE F.O : expresion;
Declaraci
on de restricciones
subject to NOMBRE RESTR. {cjto}: expresion;

APLICACIONES

Introducci
on

Estructura General

APLICACIONES

TIPOS DE ARCHIVO

Archivo .dat

En este archivo se definen los distintos datos en la resoluci


on del modelo,
tales como elementos de conjuntos, y valores de par
ametros.
Dentro de estos u
ltimos, destacan aquellos par
ametros que cambian de
acuerdo a subndices, los cuales se presentan con tablas como sigue:
param NOMBRE :
1
2
3

a11
a21
a31

a12
a22
a32

a13
a23
a33

a14
a24
a34 ;

Cuadro: formato ingreso datos

:=

Introducci
on

Estructura General

APLICACIONES

TIPOS DE ARCHIVO

Archivo .run

En este archivo se definen las instrucciones bajo las cuales se ejecutar


a el
modelo, la estructura es la siguiente:
model NOMBREMODELO.mod; (se carga archivo del modelo)
data NOMBREDATA.dat; (se carga archivo con datos)
option solver SOLVER; (se selecciona el SOLVER usar seg
un tipo de
problema)
solve; (se ordena la resoluci
on del problema)
display VARIABLES; (se muestran valores optimos de las variables a
elecci
on)

Introducci
on

Estructura General

APLICACIONES

Ejemplos

Problema de transporte y localizacion


El problema consiste en determinar las unidades a transportar entre un conjunto de posibles bodegas a un conjunto de clientes. Adem
as, se debe determinar la cantidad de estas instalaciones, y el lugar donde se instalar
an.
Todo lo anterior sujeto a restricciones de capacidad de cada bodega y a la
satisfacci
on de demanda para cada cliente, con el fin de lograr el mnimo
costo.

Figura: Grafo con clientes y bodegas

Introducci
on

Estructura General

Ejemplos

Problema de transporte y localizacion

Conjuntos
I: conjunto de orgenes (bodegas)
J: conjunto de destinos (destinos)

Par
ametros
Capi : capacidad de la bodega i
dj : demanda cliente j
CCi : costo de construir bodega i
CTij : costo unitario de transporte desde bodega i a cliente j

Variables
Yi : 1 si se construye bodega i, 0 si no
Xij : unidades transportadas desde bodega i a cliente j

APLICACIONES

Introducci
on

Estructura General

APLICACIONES

Ejemplos

Problema de transporte y localizacion: El modelo

M in

CTij Xij

Xij Capi Yi

i I

s.a

X
j

X
i

CCi Yi +

i,j

Xij = dj j J

Xij 0, Yi [0, 1]
ver modelo
ver .run

Introducci
on

Estructura General

APLICACIONES

Ejemplos

Problema de transporte y localizacion: Aplicacion


Para el problema anterior, se tienen los siguientes datos:
i/j
1
2
3
4
5
6
7
8
9
10
dj

1
73.78
60.28
58.18
50.37
42.73
44.62
49.31
50.79
51.93
65.90
12000

2
14.76
20.92
21.64
21.74
35.19
39.21
51.72
59.25
72.13
13.07
12000

CTij
3
4
86.82
91.19
76.43
83.99
69.84
72.39
61.49
65.72
44.11
58.08
44.44
48.32
36.27
42.96
22.53
33.22
21.66
29.39
79.59
86.07
14000 13500

5
51.03
58.84
61.64
60.48
65.76
76.12
84.52
94.30
93.52
46.83
25000

Cuadro: Datos problema


Considere CCi = 500000 i I
ver datos

6
76.49
68.86
58.39
56.68
55.51
51.17
49.61
49.66
49.63
69.55
29000

Capi
23070
18290
20010
15080
17540
21090
16650
18420
19160
18860

Clase Introductoria AMPL


Javier Ramos - Jorge Weston
Departamento de Industrias, Universidad T
ecnica Federico Santa Mara, Chile

2 de junio de 2015

Javier Ramos - Jorge Weston

Gesti
on de Operaciones I

También podría gustarte