metodo simplex

11
MAESTRÍA EN AUTOMATIZACIÓN Y CONTROL INDUSTRIAL INTELIGENCIA ARTIFICIAL METODO SIMPLEX Roberto Carlos Guevara Calume

Upload: roberto-carlos-guevara-calume

Post on 20-Jun-2015

1.147 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: metodo simplex

MAESTRÍA EN AUTOMATIZACIÓN Y CONTROL INDUSTRIAL

INTELIGENCIA ARTIFICIAL METODO SIMPLEX

Roberto Carlos Guevara Calume

Medellin

2009

Page 2: metodo simplex

Roberto Carlos Guevara Calume

Trabajo I -- Inteligencia Artificial. --

1. El problema de la dieta:Se tiene dos tipos de granos (Tipo 1, Tipo 2) y se desea obtener una dieta adecuada a un costo mínimo.

La dieta entrega la cantidad que debe ser consumido diariamente cada nutriente y debe ser mayor o igual al requerimiento mínimo diario (RMD):

Tipo 1 Tipo 2 RMDAlmidón 5 7 8Proteína 4 2 15Vitamina 2 1 3Costo $600 $350

Como debe prepararse la dieta tal que el costo sea mínimo?.

Plantear el problema y dibujar la región factible.

funciónobjetivo600 x1+350 x 2Restricciones

5 x1+7 x 2≥84 x1+2 x2≥152 x1+x 2≥3

Dibujamos la región factible

Page 3: metodo simplex

Roberto Carlos Guevara Calume

2. Suponga que una persona acaba de heredar $6.000 y desea invertirlos. Al oír ésta noticia, dos amigos distintos le ofrecen la oportunidad de participar como socio en dos negocios, cada negocio planteado por cada amigo. En ambos casos, la inversión significa dedicar un poco de tiempo el siguiente verano, al igual que invertir efectivo. Con el primer amigo, al convertirse en socio completo, tendría que invertir $5.000 y 400 horas, y la ganancia estimada (ignorando el valor del tiempo) sería de $4.500. Las cifras correspondientes a la proposición del segundo amigo son $4.000 y 500 horas, con una ganancia estimada de $4.500. Sin embargo, ambos amigos son flexibles y le permitirían entrar en el negocio con cualquier fracción de la sociedad; la participación en las utilidades sería proporcional a esa fracción. Como de todas maneras, ésta persona está buscando un trabajo interesante para el verano (600 horas a lo sumo), ha decidido participar en una ó ambas propuestas, con la combinación que maximice la ganancia total estimada. Formule y resuelva el problema empleando MATLAB.

Solución:

X1 : inversión (1) ; X2 : inversión (2)

Planteamiento:

(P )Max z=45005000

x1+ 4005000

x 2

(P )Max z= 910x1+ 9

8x 2

x1+x 2≤6000225x1+ 1

8x2≤600

x1≤5000x2≤400x1 , x2≥0

Page 4: metodo simplex

Roberto Carlos Guevara Calume

Usando matlab se encontró el siguiente programa general que usa dos funciones Objfun y Confun, el código y los resultados de salida son :

Programa principal Funcion Objfun Funcion Confun%Realizado por:- Marchena Williams% - Ornelas Carlos%Supervizado por: Gonzalez-Longatt, F.%Fecha: 12-02-2006%UNEFA - Núcleo Maracay%---------------------------------clc % Borra la pantallaclear % Borra todas las variablesdisp(' ') % DISP: muestra una cadena de caracteresdisp(' Ejemplo 1')disp('--------------------------')disp(' Condiciones Iniciales del programa')x0=[0,0]options=optimset('LargeScale','off');[x,fval]=fmincon(@objfun,x0,[],[],[],[],[],[],@confun,options)%---------------------------------

%Se define la función objetivo con signo contrario

function f = objfun(x)f=-(9/10)*x(1)-(9/8)*x(2)

function [c, ceq] = confun(x)% restricciones de desigualdades lineales o no lineales c=[-x(1); -x(2);x(1)-5000;x(2)-4000;(2/25)*x(1)+(1/8)*x(2)-600;x(1)+x(2)-6000];% restricciones de igualdades lineales o no linealesceq = [];

SALIDA

Ejemplo 1------------------------------------------------------------ Condiciones Iniciales del programa

x0 = 0 0

Warning: Options LargeScale = 'off' and Algorithm = 'trust-region-reflective' conflict.Ignoring Algorithm and running active-set method. To run trust-region-reflective, setLargeScale = 'on'. To run active-set without this warning, use Algorithm = 'active-set'.> In fmincon at 395 In tarea1IA at 17

f = 0f = -9.0000e-009f = -1.1250e-008f = -2.0756f = -2.0756f = -2.0756f = -55.4515f = -55.4515f = -55.4515f = -183.7717f = -183.7717f = -183.7717f = -5.8435e+003

Page 5: metodo simplex

Roberto Carlos Guevara Calume

f = -5.8435e+003f = -5.8435e+003f = -5.8437e+003f = -5.8437e+003f = -5.8437e+003f = -6.0000e+003f = -6.0000e+003f = -6.0000e+003f = -6000f = -6.0000e+003f = -6.0000e+003

Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 5 6

x = 1.0e+003 * 3.3333 2.6667

fval = -6000

3. Considere el siguiente problema: Max 2 x1+3 x2sujeto a:

2 x1+x 2≤14−x1+2 x 2≤142 x1+2 x2≤10x1+x 2≥2x1 , x2≥0

Dibuje la región Factible.

Page 6: metodo simplex

Roberto Carlos Guevara Calume

4. Investigar sobre métodos y/o algoritmos para resolver problemas de programación no lineal, plantear un ejemplo (no resolver).

Ecuaciones Lineales y no lineales

Una ecuación lineal es aquella en la que sus incógnitas están solas (con su coeficiente) y tienen exponente 1. La que no cumpla estas condiciones es una ecuación no lineal.

La Programación No Lineal (PNL) provee una serie de herramientas que manipulan enforma estricta los espacios de búsqueda de solución de los problemas, aprovechan información matemática del problema para dirigirse en cada paso hacia un punto de buena calidad, mejorando de esta manera la llegada a la solución. Además, PNL permite el modelamiento de restricciones no lineales, una característica muy útil para la formulación dada en el presente trabajo a los problemas que involucran variables enteras. Estas características mencionadas se deben a que en problemas de PNL, el cumplimiento de las condiciones de Karush-Kuhn-Tucker (condiciones de primer orden) y algunas condiciones de segundo orden son requeridas para evaluar la factibilidad y la optimización delos puntos que se van encontrando.

Algoritmo general

Un sistema de ecuaciones es no lineal, cuando al menos una de sus ecuaciones no es de primer grado.

Page 7: metodo simplex

Roberto Carlos Guevara Calume

{x2+ y2=25x+ y=7

La resolución de estos sistemas se suele hacer por el método de sustitución, para ello seguiremos los siguientes pasos:

Se despeja una incógnita en una de las ecuaciones, preferentemente en la de primer grado.

y=7−x

Se sustituye el valor de la incógnita despejada en la otra ecuación.

x2+ (7−x )2=25

Se resuelve la ecuación resultante.

x2+49−14 x+ x2=25

2 x2−14 x+24=0

x2−7 x+12=0

x=7±√49−48¿ ¿2=7±1

2

x1=4 , x 2=3

Cada uno de los valores obtenidos se sustituye en la otra ecuación, se obtienen así los valores correspondientes de la otra incógnita.

x=3 y=7−3 y=4

Algunos métodos numéricos

Levenberg-Marquardt es un método de búsqueda cuya dirección es un cruce entre el método de Gauss-Newton y direcciones descenso más brusco.

para la resolución de sistemas de ecuaciones no lineales, pueden usarse los siguientes métodos:

Método del Punto Fijo.

Page 8: metodo simplex

Roberto Carlos Guevara Calume

Método de Seidel.

Método de Newton.

Método de Cuasi - Newton.

Método de la Máxima Pendiente.

Método de Continuación u Homotopía.

Algunos ejemplos de aplicaciones de ecuaciones no lineales son: la relatividad general,

la teoría del caos, las ecuaciones de Navier - Stokes de dinámica de fluidos, la óptica no

lineal, el sistema del clima de la Tierra, el balanceo de un uniciclo robot o la gestión de

las organizaciones.

Ejemplos del uso de ecuaciones No lineales

Se acostumbra analizar a las ondas sonoras y de la luz como la suma de ondas sinusoidales simples. Pero, cuando se observa cuidadosamente las ondas en la superficie del agua, se ve que para su descripción dicho principio no se puede aplicar, excepto cuando se presentan amplitudes pequeñas. El estudio de las ondas de amplitud pequeña en el agua fue uno de los principales tópicos de la física del siglo XIX. Durante mediados del siglo XX el estudio de muchos fenómenos no lineales, en donde no se satisface el principio de superposición, cobraron especial importancia; por ejemplo, los haces de láseres en la óptica y las ondas en plasmas exhiben fenómenos ondulatorios no lineales.