Beruflich Dokumente
Kultur Dokumente
Introduccin
R.Delgadillo
Introduccin
R.Delgadillo
Introduccin
R.Delgadillo
Ejemplo:
Una empresa elabora tres tipos de forraje usando cuatro tipos
de cereales. Cada saco de forraje contiene 50 kg. y se vende al
precio (en soles) indicado en la tabla siguiente, que contiene
tambin la composicin de cada saco y las existencias de
cereales en la fbrica:
R.Delgadillo
Forraje
Avena
Maz
Cebada
Trigo
Precio
25
25
20
20
10
12
20
30
6.20
Existenc
50000
80000
40000
10000
R.Delgadillo
R.Delgadillo
R.Delgadillo
R.Delgadillo
Colocando etiquetas
Se puede colocar etiquetas (nombres) a las
restricciones y funcin objetivo, esto es til
por dos razones:
Los etiquetas son usados en el listado de
soluciones generadas, lo que facilita su
lectura e interpretacin.
Los mensajes de errores pueden mencionar la
etiqueta para su localizacin.
R.Delgadillo
10
Colocando etiquetas
R.Delgadillo
Colocando etiquetas
Ejemplo:
[Ingresos] Max = 9*x+12*y+6.2*z;
[Avena] 25*x+20*z < 50000;
[Maiz]
25*x+20*y < 80000;
[Cebada] 20*y+30*z < 40000;
[Trigo] 10*y < 10000;
R.Delgadillo
12
Colocando etiquetas
Ejemplo:
[FO] MIN = @SUM (rutas (i,j): costo(i,j) * qtdEnviada
(i,j) );
@FOR(fabricas(i):
[Cap_fabricas] @SUM(almacenes(j):qtdEnviada(i,j))<=
capacidad(i));
@FOR(almacenes(j):
[Dem_almacenes] @SUM(fabricas(i):qtdEnviada(i,j))=
demanda(j));
R.Delgadillo
13
Insertando comentarios
Un comentario queda definido por un signo
de exclamacin (!) y un punto y coma (;)
los cuales determinan su inicio y fin.
Ejemplo
! Funcin Objetivo;
[Ingresos] Max = 9*x+12*y+6.2*z;
! Las capacidades de las fabricas no se pueden
sobrepasar;
@FOR(fabricas(i):
@SUM(almacenes(j):qtdEnviada(i,j))<= capacidad(i));
R.Delgadillo
14
Modelo
R.Delgadillo
15
R.Delgadillo
16
Solucin
R.Delgadillo
17
R.Delgadillo
18
Potenciacin
Multiplicacin
Divisin
Adicin
Substraccin
19
Valor de Retorno
#NOT#
#EQ#
#NE#
#GE#
#GT#
#LE#
#LT#
#AND#
#OR#
R.Delgadillo
20
R.Delgadillo
Operador
Descripcin
<=
>=
Operadores
Alto
#NOT# -(negacin)
^
* /
+ #EQ# #NE# #GT# #GE# #LT# #LE#
#AND# #OR#
Bajo
R.Delgadillo
<= = >=
22
Retorna
@ABS(X)
@COS(X)
@SIN(X)
@TAN(X)
@FLOOR(X)
@SMIN(X1,
X2,XN)
@SMAX(X1,
X2,XN)
R.Delgadillo
23
Descripcin
@BIN (variable)
@BND(inf,var,sup)
@FREE(variable)
@GIN(variable)
R.Delgadillo
24
El problema de mezcla
cjxj
j
n
s.a
aij x j
bi
i 1,..., m
xj
Donde:
x j = Es la variable de decisin, que indica la cantidad de cereal i que se
incluye en la mezcla.
c j = Es el precio del forraje de tipo i
bi = La cantidad que se tiene en stock del cereal j
aij = La cantidad de cereal j que se utiliza en la produccin del forraje i.
R.Delgadillo
25
Conjuntos
R.Delgadillo
Conjuntos
R.Delgadillo
Conjuntos
DATA:
Existencias = 50000 80000 40000 10000;
Precio = 9, 12, 6.20;
ENDDATA
R.Delgadillo
28
Conjuntos
Si hubiramos querido asignar a todas las
existencias el valor 10 000 podramos haber
escrito Existencias = 10000;
Si hubiramos querido dejar las existencias
de cebada como variable podramos haber
escrito:
Existencias = 50000, 80000, , 10000;
(en este caso es obligatorio el uso de comas)
R.Delgadillo
29
Conjuntos
R.Delgadillo
30
Conjuntos
R.Delgadillo
31
conjuntos
R.Delgadillo
R.Delgadillo
33
R.Delgadillo
R.Delgadillo
R.Delgadillo
36
R.Delgadillo
37
R.Delgadillo
El problema de Mezcla
[Ingresos] Max = @Sum(Forraje(p): precio(p)*sacos(p));
@For(Cereal(c):
[Limite] @Sum(forraje(p): Cantidad(p,c)*sacos(p))<Existencias(c));
SETS:
Cereal:Existencias;
Forraje/1..3/: Precio, Sacos;
Par (forraje, cereal):cantidad;
ENDSETS
DATA:
Cereal = Avena Maiz Cebada trigo;
Cantidad = 25 25 0 0
0 20 20 10
20 0 30 0;
Existencias = 50000 80000 40000 10000;
Precio = 9, 12, 6.20;
ENDDATA
R.Delgadillo
39
Ejercicios
R.Delgadillo
40