Está en la página 1de 20

QUIG 1046

DINÁMICA DE PROCESOS Y
CONTROL

Santiago D. Salas, Ph.D.


Clase 2
Algoritmos de optimización
Son métodos o pasos ordenados, casi siempre iterativos,
que nos ayudan en la resolución de problemas de
optimización. Dependiendo de la complejidad del
sistema, existe una gran variedad de opciones
disponibles:

✓ Método SIMPLEX.

✓ Método Monte-Carlo.

✓ Algoritmo Genético.

2
Método SIMPLEX

✓ Inicios: George Dantzing publicó el método SIMPLEX en


1947.

✓ Descripción: SIMPLEX es un método iterativo. Permite


ir mejorando la solución en cada paso. La mejora radica
en que el método consiste en caminar del vértice de un
poliedro a un vértice vecino de manera que aumente o
disminuya el objetivo. Dado que el número de vértices
que presenta un poliedro solución es finito siempre se
hallará solución.

3
SIMPLEX: dominio de solución (2-D)

Solución Punto de
Borde
x2 (adyacentes) Solución
(no factible)

Solución Punto de Borde


Región (factible) (s.b.f.)
Solución
factible
(factible) Solución Punto de Borde
(no factible) (s.b.)

x1
Solución
(factible)

4
SIMPLEX: características
✓ Los conjuntos factibles se definen por variables continuas
y restricciones lineales.
✓ Las soluciones pueden ser factibles o no factibles. Los
puntos de frontera y puntos interiores son soluciones
factibles. La solución óptima es siempre un punto factible.
✓ Las variables no básicas son las que son fijadas en cero en
cada iteración.
✓ Las variables básicas no son fijadas en cero en cada
iteración, y son normalmente positivas.
✓ Mientras las iteraciones avanzan, las variables se asignan
siempre al conjunto base o no base. Una asignación en
una iteración dada es los que se conoce como una base.
✓ Las variables no básicas corresponden a RESTRICCIONES
ACTIVAS.
5
SIMPLEX: desarrollo

✓ Una solución es cualquier punto en el espacio de las


variables (factible o no factible).
✓ Una solución básica es obtenida fijando a cero una
cantidad suficiente de variables. Las ecuaciones de
igualdad del modelo deben ser resueltas unívocamente
para el resto de las variables. Las variables que se fijan en
cero se denominan variables no básicas y las que se
obtienen resolviendo las igualdades se denominan
variables básicas.
✓ Una solución básica existe si y solo sí las columnas de las
restricciones de igualdad correspondientes a las variables
básicas forman una base, esto es, el conjunto más grande
posible de columnas linealmente independientes.
6
SIMPLEX: algoritmo
✓ Una solución básica factible (SBF) es una solución
básica que satisface las restricciones de no negatividad.
✓ Las soluciones básicas factibles son exactamente las
soluciones de puntos extremos de su región factible.
X(6)

X(5)
x3
max f ( x ) = x3
A
s.t.
X(4)
Restric. A L
C x0
B

F
X(3)
x1
D E
H X(2)
G
L
I
X(1) J K

x2 X(0)

7
SIMPLEX: algoritmo

Para alcanzar un punto de borde factible o una SBF,


fijamos arbitrariamente el valor de un número de
variables igual a los grados de libertad d del problema

d = # de variables en formato estándar – # de ecuaciones


independientes.

SIMPLEX fija automáticamente el valor de d variables.


Luego calcula el valor de las restantes. Lo hace asignando
el valor de cero a las variables que fija. Así se asegura que
el punto es factible ya que el origen de coordenadas es
siempre un punto factible.

8
SIMPLEX: algoritmo

Elegir una nueva base no se puede dar al azar. Puede


generar:
(i) una base no factible,
(ii) una base peor,
(iii) una base que no define un punto extremo. Si
estamos en una SBF, la mejor forma de encontrar otra
SBF es mirando los puntos adyacentes (vecinos). Esto
es parcialmente debido a las siguientes propiedades:
(i) en dos puntos adyacentes, el conjunto no básico
será idéntico, excepto por un miembro;
(ii) en dos puntos adyacentes, el conjunto básico será
idéntico, excepto por un miembro.

9
SIMPLEX: algoritmo
x2 Punto A x2 Punto B
h1 NB = {s2,s3} h1 NB = {s1,s2}
B = {x1,x2,s1} B={x1,x2,s3}

h2 h2

Región factible
h3 Región
h3
factible
x1
x1

Lo anterior implicaría que para moverse de una SBF a


otra, bastaría con intercambiar un par de variables del
conjunto B al NB. Sin embargo, esto es una condición
necesaria pero no suficiente.

10
SIMPLEX: algoritmo

Los puntos de la figura cumplen la condición pero no son


adyacentes:
x2 x2

h1 Punto C h1 Punto D

NB = {x1,s3} NB = {x2,s3}
h2 B = {x2,s1,s2} h2 B = {x1,s1,s2}
Región Región
factible h3 factible h3
x1 x1

Las condiciones a cumplir son,


Condición 1: los puntos correspondientes deben ser adyacentes.
Condición 2: los puntos extremos deben ser factibles.
Condición 3: el nuevo punto extremo debe ser mejor.
11
Método Monte-Carlo
✓ Inicios: desarrollado en Los Alamos Natinal Lab en 1947 por
Nicholas Metropolis.
✓ Descripción: es un método estocástico o estadístico
numérico. Se usa para aproximar expresiones matemáticas
complejas (o computacionalmente costosas) con exactitud.
El método es en referencia al Casino de Montecarlo
(Mónaco). El método mejoró enormemente con el desarrollo
de la computadora.

12
Algoritmo del método Monte-Carlo
Paso 1: definición de dominio de solución (variables de
decisión).

Paso 2: generación de un set de muestras de dimensiones


[n, m], es decir, de n variables de decisión y tamaño m.
Para este paso se pueden aplicar métodos de generación
de muestras, e.g., hipercubo latino, valores aleatorios.

Paso 3: evaluación de las muestras en el sistema bajo


estudio.

Paso 4: ponderación de resultados por métodos


estadísticos.

13
Algoritmo del método Monte-Carlo
Queremos investigar el número 𝝅 por el método Monte-Carlo.

𝜋 2 4𝐴⨀
𝐴⨀ = 𝐷 𝜋=
4 𝐷2
Considerando un cuadrado, y
asumiendo que uno de sus lados
es de magnitud 1, realizamos el
muestreo:
Cuadrado Círculo Total
N 31 128 159
% 19.5% 80.5% 100.0%

14
Algoritmo del método Monte-Carlo

4𝐴⨀
𝜋=
𝐷2
𝐴⨀ = (%)𝐴⊡

𝐴⨀ = 0.805

4(0.805)
𝜋=
12
𝜋 = 3.22

15
Algoritmo Genético
✓ Inicios: el algoritmo genético o GA fue desarrollado en los
años 1970. Su principal promotor fue John Henry Holland. El
GA es el precursor de los algoritmos de inteligencia artificial.

✓ Descripción: el GA es un método de optimización


estocástico, metaheurístico o evolutivo. Tenemos un
conjunto de soluciones generadas por un conjunto de
individuos. La solución viene dada por un set de valores
llamado cromosoma conformado por genes. Los
cromosomas evolucionan a través de iteraciones, llamadas
generaciones. En cada generación, los cromosomas se
evalúan. Las siguientes generaciones (nuevos cromosomas),
son generadas aplicando los operadores genéticos:
selección, cruzamiento, mutación y reemplazo.
16
Exploración y explotación

17
Algoritmo Genético
i: inicialización,
f(X): evaluación,
?: condición de
término,
Se: selección, Cr:
cruzamiento, Mu:
mutación, Re:
reemplazo, X*:
mejor solución.

18
Algoritmo Genético

19
Take Home Ideas!
✓ Los algoritmos de optimización son pasos ordenados para
maximizar o minimizar funciones objetivo.

✓ El método SIMPLEX se aplica principalmente a problemas de


optimización de sistemas de programación lineal.

✓ El método Monte Carlo es el padre de los métodos


estocásticos, permite optimizar (o simular) sistemas
complejos.

✓ El GA es un ejemplo de método metaheurístico, estocástico


de optimización. Se aplica principalmente a sistemas no
lineales.
Clase 2

También podría gustarte