Programacion no lineal

Alvarado Ruiz Rafael 10210096.
Instituto Tecnológico de Tijuana. Grupo 4E. Tijuana, Baja California México. rafa_5.0@hotmail.com
Resumen—hablaremos sobre una técnica de optimización matemática mejor conocida como programación no lineal, o también como sistemas no lineales. El cómo plantear y resolver una programación no lineal, así como también los conceptos básicos y algunos tipos de programaciones computacionales en los que implementas estos métodos como C, programa para resolver este tipo de problemas. Palabras Claves— algoritmos, función, lenguajes de programación, matemáticas, métodos, optimización, programación, programación no lineal, sistemas, variables.

optimización cualquier conjunto aceptable de valores de las variables para el cual la función objetivo alcanza un valor óptimo. Formalmente el proceso de optimización implica maximizar o minimizar la función objetivo dentro de un conjunto de valores factibles de las variables. Clasificación de los problemas de optimización Se suele basar en un compromiso entre las mejoras en la eficiencia obtenidas al considerar ciertas propiedades de los problemas frente a la complejidad de tener que elegir un método de resolución dentro de una gran librería de métodos. La forma más obvia de caracterizar los problemas se basa en las propiedades matemáticas de la función objetivo y de las funciones de restricción. [5] LOS MODELOS NO LINEALES ¿Por qué necesitamos tener una teoría no lineal y por qué se molestan en estudiar una teoría no lineal cualitativa? Después de todo, la mayoría de los modelos que están actualmente disponibles son lineales, y si el modelo no lineal se va a utilizar, las computadoras están llegando a ser cada vez más poderosos en la simulación ellos. ¿Realmente necesitamos una teoría no lineal? Esto no es una pregunta ingenua, ya que los modelos lineales son mucho más manejables que los no-lineal y podemos analizar bastante sofisticados y sistemas lineales de alta dimensión. Además, si uno utiliza los modelos lineales con algunos parámetros posiblemente variable en el tiempo, se pueden modelar sistemas reales sorprendentemente bien. Por otra parte, aunque los modelos no lineales pueden ser conceptualmente más satisfactorios y elegantes, son de poca utilidad si no se puede aprender algo de su comportamiento. Sin duda, muchos profesionales de la industria afirman que pueden hacer muy bien con el tiempo lineal diferentes modelos. Por supuesto, un argumento en contra es que podemos usar el poder cada vez mayor de la computadora para entender cualitativamente el comportamiento de sistemas más completa y no tiene que aproximar su comportamiento en los sistemas lineales. Sin embargo, la razón de peso que hacen uso de modelos no lineales es que la dinámica de sistemas lineales no son lo suficientemente ricos como para describir muchos fenómenos comúnmente observados. Aquí están algunos ejemplos de estos fenómenos:

A

INTRODUCIÓN

lgoritmo: Procedimiento matemático preciso y finito para resolver un problema mediante una serie ordenada de pasos que una vez especificados los datos a la solución que el problema tiene para las variables obtenidas.[1] Programación matemática: es una manera en la que aplicas las matemáticas para tratar de resolver problemas de decisión determinado variables que optimicen un determinado objetivo. [2] Método: es el medio utilizado para llegar a un fin. Optimización: el hecho común a todos los tipos de problemas es que existe un valor ideal o unos valores limites y cuantificables. Varias unidades de producto nos permitirá evaluar la media y la variabilidad. Un problema de optimización podrá ser por tanto de ajuste d la media para conseguir un valor mas deseable de la misma o bien reducir la variación de alrededor de esta media, para que las diferentes unidades se correspondan con la misma. [3] Un programa –en sentido informático– está constituido por un conjunto de instrucciones que se ejecutan –ordinariamente– de modo secuencial, es decir, cada una a continuación de la anterior. Recientemente, con objeto de disminuir los tiempos de ejecución de programas críticos por su tamaño o complejidad, se está haciendo un gran esfuerzo en desarrollar programas paralelos, esto es, programas que se pueden ejecutar simultáneamente en varios procesadores. Una función es una regla de asociación que relaciona dos o más conjuntos entre sí. [4] DEFINICIÓN DE UN PROBLEMA DE OPTIMIZACIÓN Un problema de optimización se puede definir de forma general partiendo de un conjunto de variables independientes, una serie de restricciones que definen valores aceptables de las variables y una función de estas variables que se denomina función objetivo. Se entiende por solución de un problema de

El punto x = es un punto de equilibrio del sistema. por ejemplo • Los circuitos digitales para la lógica de Binay tener por lo menos dos estados estables. Por ejemplo: Una barra bajo carga axial tiene un estado desabrochado como su estado de equilibrio hasta que la carga alcanza un valor crítico. los cambios con la variación paramétrica en el modelo. entonces x = 0 es el único punto de equilibrio del sistema lineal.1) con x ϵ Rn y A ϵ Rn x n. 3. x (0) = 0. los casos de sistemas con variaciones periódicas de naturaleza robusta abundan en la práctica: • Las ecuaciones diferenciales para el modelado de la generación de impulsos nerviosos latidos del corazón y son de los denominados tipo van den Pol. • Las ecuaciones de flujo de potencia modelar el flujo de potencia activa y reactiva en una red de transmisión tiene varios puntos fijos de funcionamiento del Estado. si el estado inicial en el tiempo t = 0 de la ecuación diferencial (1. c) Los cambios de la unión de Josephson estado superconductor. una perturbación infinitesimal de las entradas de A "es casi seguro que" la causa que se convierta en singular.1). entonces el estado de la ecuación sigue siendo 0 para todo t. que estudiaremos más adelante. y en lugar de producir ya sea un punto de equilibrio estable o inestable. x (t) ≡ 0. Variación periódica de las variables de estado o de ciclos límite. en contraste con un número infinito de sistemas lineales con valores propios del eje jω y en consecuencia no puede ser descrito por un modelo de ecuaciones diferenciales lineales. Que la naturaleza cíclica de estos fenómenos se obtiene de un único ciclo límite estable. consideremos el modelo de ecuaciones diferenciales lineales ẋ = Ax (1. Se trata de un conjunto infinito de inexplicable punto de equilibrio. Hay muchos ejemplos de sistemas cuyas características cualitativas. una pequeña variación de parámetros en los modelos de sistema lineal se destruye la continuidad de soluciones periódicas. 2. Si A ϵ Rn x n tiene valores propios en el eje imaginario (en adelante. el número de ciclos límite. entonces el sistema lineal admite de un continuo de soluciones periódicas. En la ecología de poblaciones. Equilibrios múltiples funcionamiento o varios puntos de • Los sistemas con muchos equilibrios abundan en la práctica. a) Una vez más. sistemas dinámicos lineales con soluciones periódicas no son modelos robustos. Como en el caso de múltiples puntos de equilibrio. Es decir. ya que si A fuera singular. los sistemas lineales de la forma de (1. existen sistemas con soluciones múltiples y periódicas. Por lo tanto. y la estabilidad de estas características. Estos pueden ser en número finito. Por lo tanto. consideramos. Un rayo cinturón abrochado tiene dos estados estables. considere de nuevo el sistema lineal de (1. hay múltiples poblaciones de equilibrio de las especies que compiten. y esta oscilación marca la transición de los superconductores para la realización de la región. Si A es una matriz no singular. Sin embargo. el conjunto de equilibrios del sistema es el espacio nulo de la matriz A. tales como el número de puntos de equilibrio. Otros ejemplos relacionados con el modelo periódicas contracciones musculares en el esófago y los intestinos. b) El compresor de un cambio de motores a reacción de la operación en estado estacionario a un modo de operación que está girando puesto cuando el ángulo de ataque de las palas alcanza un valor crítico. es decir. el estado de conducción (cuando existe una órbita periódica y un . En consecuencia. • • No. momento en el que adquiere dos estados estables abrochado y desabrochado un estado inestable. Bifurcaciones 1. el eje jω). una matriz constante. Circuitos de unión Josephson se puede demostrar que tienen un ciclo límite (de muy alta frecuencia) cuando la corriente de polarización es mayor que un cierto valor crítico.1) es 0. • • cinética de las reacciones múltiples equilibrios químicas permiten Los circuitos de reloj digital o multivibradores estable presentan una variación cíclica entre la lógica 1 y 0 los estados y también puede ser modelado como un degenerado límite de la ecuación de Van de Pol se mencionó anteriormente.1) no puede robusta (en este caso con firmeza se utiliza en el sentido de ser cualitativamente insensible a los errores de modelado) permiten más que una solución de equilibrio. A modo de contraste. es decir. o estado de resistencia cero (cuando existe un equilibrio estable único).1. las pequeñas perturbaciones de los elementos de A hará que los valores propios de ser desplazados fuera del eje jω y destruir la existencia de soluciones periódicas. Si una singular.

Dinámica caótica o complejas son ejemplos de dinámicas que no pueden ser generados por los modelos lineales. en: a) las células del músculo cardíaco. las arritmias (en el músculo del corazón) o saltar lazo (para la fase de bucle cerrado). cuando los valores propios de A no están en el eje jω. por ejemplo. el sistema puede cambiar de estable a inestable.punto de equilibrio o simplemente una órbita periódica) como la cantidad de actual pasa por obligar a un valor crítico. los modelos climáticos y modelos de flujo de Esta función tiene un único máximo en x = ½ de magnitud h / 4.1] sí mismo en.3) Osciladores acoplados débilmente cuando se sincronismo de fase y frecuencia. Comportamiento dinámico complejo Vamos a contemplar el comportamiento dinámico del sistema lineal de (1. Estos se conocen como la dinámica caótica o compleja. en realidad. las soluciones de la ecuación (1. una tasa constante huida rollo constante. tales como los diodos túnel. (1. Estos sistemas evolucionan de maneras que son un poco más sutil que las divergencias o la contratación de exponenciales. las células musculares que causan los movimientos peristálticos del intestino y el esófago.3). el la dinámica de muchos sistemas físicos puede ser una función compleja y delicada de las condiciones iniciales.1). De ello se desprende que para h ≤ 4. la dinámica de los modelos de población.1) ni la decadencia ni explotar para cualquier condición inicial. se trata de avanzada como razones para el "efecto mariposa" famosos: el batir de las alas de una bandada de mariposas en el parque central puede causar variaciones en el clima global de tal magnitud como para permitir que los tifones en China. para concretar el lector tal vez desee considerar la función f(x) = hx (1 . por el momento. se asigna el intervalo [0. también servirá como un vehículo para introducir una técnica interesante gráfico para comprender la dinámica de sistemas no lineales discretos. lo que revela algo de sutileza increíble. Como los parámetros del cambio de sistema. como cambiar los parámetros de la pérdida de sincronismo o de arrastre de frecuencia se caracteriza por la aparición de un comportamiento complicado. Como hemos comentado anteriormente. Es muy simple: las respuestas son sumas de exponenciales. No hay un modelo lineal de este fenómeno.1. sin embargo. fluidos turbulentos. Es cierto que. 4. Con f de la ecuación (1.2 se conoce como el mapa logístico. por ejemplo. considerar un sistema discreto: xt + 1 = f (x) (1. con exponentes dados. e) A medida que el ángulo de ataque de un avión cambia. tenemos en cuenta la dinámica de una ecuación en diferencias muy simple de primer orden. Suponemos que la población se mide en tiempos discretos y x es lo suficientemente grande como para que podamos asumir que es una variable continúa. pero el modelo con x continua es sorprendente lo suficientemente robusta como para superar este inconveniente. por ejemplo. d) El comportamiento de histéresis en los valores actuales de ciertas resistencias de un puerto. El número de equilibrios puede ir hasta el infinito si alguno de los valores propios de pasar por el origen. Este modelo fue el origen de una gran emoción cuando se estudió por May y Oster y validados por experimentos con una población de mosca en Berkeley.x). La sincronización y la frecuencia de arrastre tire al LA COMPLEJIDAD DE LA DINÁMICA NO LINEAL Antes de comenzar un estudio sistemático de los sistemas no lineales y su comportamiento asombrosamente rica. el modelo 1. Por los valores propios de la matriz A que sea la decadencia a cero o volar cuando t → ∞. este modelo no es robusto. ninguno de los cambios descritos anteriormente pueden ser capturados por un modelo lineal parametrizado.2) Esta ecuación representa la evolución de una población de moscas azules numeración xt ϵ R en el tiempo t en una caja de tamaño fijo con una fuente de alimentación fija. En este ejemplo. xϵ [0. En la literatura de divulgación científica. ya que pequeñas perturbaciones va a eliminar los valores propios fuera del eje jω En contraste. b) Fase Locked Loops para el seguimiento. Nosotros. Además. La forma cualitativa de la función f se muestra en la Figura 1. se produce cuando la tensión a través de ellas se sube o baja. la x de la población es discreto. .1]. 5. Pequeños cambios en las condiciones iniciales pueden hacer las trayectorias muy diferentes en el tiempo. Sistemas lineales con parámetros tienen un comportamiento que es mucho menos sutil.

por lo que el aumento de la población (abundancia de alimentos y espacio vital). 1. el punto de equilibrio se mueve desde el lado izquierdo de la joroba en el lado derecho. Un período de 2 ciclo límite es equivalente a una plaza cerrada en la tela de araña en la figura 1.25. Figura 1.2. Por lo tanto x0*es una población en equilibrio estable. es decir. Por lo tanto. Figura 1. La función de una sola joroba Los modelos de la función f el hecho de que xt + 1 ˂ xt cuando la población es pequeña. La línea horizontal que se corta la línea de 45° se corresponde con el proceso iterativo de sustitución de x0 en el eje horizontal por x1. Vamos a estudiar el efecto de elevar la altura de la joroba.2 muestra cómo se resuelve la ecuación (1. Este término es. Solución gráfica de un sistema unidimensional El equilibrio es inestable. xt + 1 = f (x) = x . el punto de intersección denota por x0* es un equilibrio. • El caso 1 ≤ h ≤ 3. x t + 1 = f (f (xt) ) =: f 2 (xt). un poco de experimentación gráfica se muestra.4. Hay que tener en cuenta que la población es estable valor x0* función de h. ya que en el punto de intersección. En cuenta la situación de la figura 1. El h1 valor se llama una bifurcación duplicación del periodo punto. lo que corresponde al aumento de la h de parámetros en la función de (1. • El caso 0 ≤ h ˂ 1. es decir.3).3. El caso 3 < h ≤ 1 + = 3. La figura 1. También (verifique esto gráficamente por sí mismo) todas las condiciones iniciales cero.4 la participación de la población alterna entre dos valores de x *1 y x 2*. Otra forma de entender estos resultados es mediante el examen de la dinámica de la evolución en dos etapas. La consiguiente aparición de la evolución de la variable de estado de la población es el de una telaraña. Además xt + 1 ˂ xt cuando la población es grande (competencia por el alimento y el aumento de la probabilidad de la enfermedad). (1. la terminología utilizada por los economistas para una sencilla modelos tridimensionales de las políticas macroeconómicas de crecimiento del PIB y algunos fenómenos microeconómicos. a saber. Para concretar. que muestra la gráfica de f cruzar la línea de 45 grados. El valor del parámetro en el que el cero de la población que viene-inestable es h0 = 1. h ≥ 1. Ahora aumenta la altura de la joroba. lo que demuestra el inicio del ciclo de periodo límite de 2. h = 2. Tenga en cuenta que si la población tuviera que empezar en el Figura 1.punto de intersección que se quedaría allí. la curva y = f (x) se encuentra por debajo la recta y = x. Por lo tanto f (x) > x para x pequeñas y f (x) < x para x grande. convergen en x0* para 1 ≤ h ≤ 3. con el estado inicial x0 en el eje horizontal y se lee de x1 = f (x0) en el eje vertical.4) .1. La iteración continúa ahora de manera progresiva la lectura de xt + 1 en el eje vertical y el uso de la intersección de la línea horizontal a través de xt + 1 con la línea de 45 ° reflejan xt + 1 sobre el eje horizontal. el rango de valores (x) para los que f (x) ≠ 0) en la dinámica de la población de moscas volar (modelar el efecto de un aumento en el suministro de alimentos). en este caso xt tiende a cero monótonamente en el paso t.1/h.3) gráficamente: una estrella.4 muestra la telaraña en h1 = 3. sin aumentar su apoyo (es decir. El cero de la población.449 El aumento de la altura de la joroba aún más. dada por: x0*= 1 . A unos minutos de reflexión (verifique esto por ti mismo) va a dejar en claro que para 0 ≤ h nunca ˂ 1 la gráfica de f cruza la línea de 45 grados xt + 1 = x. en realidad. como en la figura 1. En otras palabras. esto corresponde a una situación en la que la población se extingue asintóticamente por falta de alimentación adecuada. Además. no importa lo pequeños que son.

(no confundir con el cuadrado de f ) es una curva de dos jorobas. el período de dos ciclo límite se vuelve inestable y es sustituido por un ciclo límite período de estabilidad 4 que afecta a cuatro puntos. y un período de 4 puntos (la formación de un período de 4 de ciclo límite). De hecho.3) y más visual. y un período de 4 tiempos límite aparece en h2 = 3. El caso 3.3.564 y así sucesivamente. x*2 son los equilibrios del sistema de la ecuación (1. Figura 1.. Un período de 2 ciclo límite Figura 1. Feigenbaum ha demostrado que.…. Asociados con esta respuesta es el sistema que corresponde a f4.Figure1. y la desestabilización de los ciclos correspondientes límite de periodos 2n – 1 se conoce como la secuencia de bifurcaciones duplicación de periodo. Si este programa se lleva adelante aún más. La extrapolación de estas observaciones. ocho periodo de 8 = 23 puntos aparecen en h3=3.4).544 dieciséis período 16 = 24 puntos aparecen en h4 = 3..449 < h ≤ 30570. la característica notable del teorema de Feigenbaum es que la relación de la bifurcación . tenga en cuenta que tanto los puntos x*1. que ahora es inestable en el sentido de que todas las poblaciones no es exactamente igual a x*0 tienden lejos de él (como se puede verificar gráficamente) y hacia el período de dos soluciones (véase también el problema 1. pero su verificación formal de las necesidades de cálculo sistemático y un esfuerzo considerable. precisamente cuando el valor del parámetro h = 3.4) es uno de estrobo o el muestreo de la dinámica del sistema de (1. Tenga en cuenta que la línea de 45 grados cruza la curva de dos jorobas de la Figura 1.4. puntos del periodo 2k estrella que aparece cada vez con más frecuencia en h. En realidad. se puede conjeturar que la altura de la joroba original es mayor. De hecho. un equilibrio estable único La forma de la función f2(x) = f(x) o f(x).449 es el segundo período duplicar punto de bifurcación.3.5 en tres puntos para h> 3 en la intersección media corresponde al período del 1 solución. Además. es decir f compuesta con f. la interpretación de la dinámica del sistema de (1.5. h2 = 3. que b 4 joroba para este caso. donde f es empinada suficiente.4 cada dos pasos de tiempo. de manera que la secuencia de bifurcaciones duplicación del periodo geométrico se acerca rápidamente a los puntos periódicos de todos los períodos de 2n.2.5 la gráfica de f 2 2. Esta intuición está en lo correcto. Así. por ejemplo. También.4). f2 adquiere su carácter de doble joroba. la línea 45 que se cruzan la curva de siete puntos que corresponden respectivamente a un período de inestabilidad 1 punto en dos períodos inestables de 2 puntos. Por lo tanto.n = 1. como se muestra en la Figura 1.449. el retrato de la figura 1.

tiene puntos de todos los periodos menores que ese en el orden de Sharkovskii. hay puntos periódicos de arbitrario al igual como algunos puntos periódicos. Hay por primera vez un punto periódico de periodo 3. un punto arreglado de f3 = f ᵒ f ᵒ f (ver problema 1.7. no es sorpresa que población salvaje parecen estar bien dentro de la región no caótica. La órbita del periodo 3 es la única orbita que es estable para pequeñas perturbaciones y es la única que es fácil de obtener de experimentos numéricos. Por lo tanto en estos valores de h o mayores. que en realidad precede el trabajo de Li y Yorke.6692….6 Un período de 3 ciclos límite Valores es exactamente 4.. Eso son los enteros impares excepto 1.839. Como el valor de h es incrementado hay un periodo duplicando la bifurcación de el periodo orbita 3 a un estable periodo orbita 6. y la secuencia de bifurcación describida arriba es referida como periodo de doble ruta al caos.2). Es de obvio interés el comprender cuales características cualitativas de este increíblemente delicado y complejo comportamiento son percibidos en mapas de una joroba mas general que el mapa logístico. 3. no sólo para el mapa específico de logística que hemos considerado. El caso de 3. Puntos de equilibrio Estable e Inestable como una función de la altura de la joroba Figura 1.570 <h <3. esto ocurre en h = 3. la población x. Sin embargo si es posible producir condiciones para fluctuaciones en población caótica como ha sido hecho por May y Oster en un laboratorio usando moscardones.. variación de la población caótica no parecen conducentes a la supervivencia. ie. Esto. El descubrimiento de estos valores fue el titulo de un punto de referencia documento por Li y Yorke. en turno.7. la mayora de la características cualitativas son reservadas.5). seguido por 22 por el entero impar excepto 1. tiene puntos de periodo arbitrario.. cambia por periodo duplicando a un estable periodo orbita 12 y así sucesiva mente y asombrosamente una vez más el numero Feigenbuam: 4.839.. El después mostro que para un sistema arbitrario en la forma de (1. Como resulta el resultado de Li y Yorke era un caso especial de un resultado anterior de Sharkovskii que discutiremos en breve.839 ≤ h ≤ 4 En h = 3. En el contexto de nuestro ejemplo del (1. puede variar en una manera muy complicada con gran sensibilidad para las condiciones iniciales SUTILEZAS DEL ANALISIS DE SISTEMAS NO LINEALES Sistemas no lineales son capases de muchos y complejos comportamientos. “periodo tres implica caos”.6692. En este rango del parámetro h. El caso 3. Para algunas condiciones iniciales las interacciones son periódicas y la trayectoria parece vagar. De hecho en el valor de h.839.3). Sorprendentemente. De hecho el mapa logístico a sido usado como un generador de números al azar en este régimen (de hecho en el próximo régimen también) También están todos los puntos periódicos del periodo 2n al igual que algunos otros puntos periódicos. Un complot de la secuencia de bifurcación del mapa logístico mostrando el periodo doblando la bifurcación dada en la figura 1. sino también para otros un mapa de parámetros que están "cerca" de ella.Figura 1. seguido por 23 por el entero impar y así sucesiva mente la cola echa de la ordenación esta echa del poder disminuciones del 2. Sharkovskii ordeno los números pares como: 4. En una interesante generalización del análisis de mapa logístico por Sharkovskii.6. si el tiempo del sistema discreto es tiene un punto de cierto periodo. la dinámica del mapa logístico son muy complicadas. En términos de población ecológica. El diagrama de tele de araña mostrando el punto periódico 3 mostrado en la figura 1. Por lo tanto en particular si el sistema tiene un punto de 3. Análisis de sistemas no lineales se diferencia del sistema linear en dos maneras: COMPLEJIDAD EN DINÁMICAS NO LINÉALES .

e. Aunque parecer trivial en el caso. donde se busca el máximo. Método de búsqueda directa Los métodos de búsqueda se aplican principalmente a funciones estrictamente unimodales de una variable. simulación excesiva seria probable mente muy costosa. Ahora daremos ejemplos de sistemas que violan los tres requerimientos anteriores. sistemas no lineales cuya dinámica puede ser describida en vectores de primera orden en la forma de ecuaciones ẋ = f(x. diseño de proceso. ninguno de las declaraciones anteriores de arriba son verdaderos para sistemas no lineales. Como ejemplo de los métodos directos están los algoritmos de gradiente. x(0) = 0.5) 1. . ∞] (existencia de la solución asta t = ∞). la idea es identificar el intervalo de incertidumbre que comprenda al punto de solución óptima. en [0. SI ecuación (1. . Algoritmos sin restricción En esta sección se presentan dos algoritmos para el problema no restringido: el algoritmo de búsqueda directa y el algoritmo de gradiente. problemas de diseño estructural. Por lo contrario con los métodos que hay para resolver problemas de programación no lineal es muy bajo su rango de aplicación de los algoritmos no lineales existentes es muy limitado. Falta de existencia de soluciones. ẋ= -sing (x). Para sistemas no lineales esto es raro. En el campo de la programación matemática se basa principalmente en el área de la programación lineal. uno puede obtener una solución en forma cerrada para sistema lineal.5) tiene al menos una solución perteneciente a algunas clases de funciones (existencia de una solución). (1. (1. ajuste de curvas asignación de recursos. x(0) = x0 (1.Generalmente hablando. Entendimiento cualitativo es importante desde entonces. Es demasiada la aportación que existe sobre esa área que es posible resolver la mayoría de los problemas lineales planteados.5) tiene exactamente una solución en la misma clase como arriba (unicidad de la solución).5) tiene exactamente una solución para todo tiempo. de manera general en algoritmos directos o indirectos. Considera por ejemplo. A consecuencias ahí una necesidad para tanto conocimiento cualitativo y repetidas simulaciones para verificación cualitativa. Falta de soluciones únicas. ALGORITMOS DE PROGRAMACIÓN NO LINEAL Los métodos de solución de la programación no lineal se pueden clasificar. pudiste haber notado que algunos termostatos tienden a quebrarse sobre su punto arreglado. Como ejemplos de estos casos están la programación cuadrática.7)[6] Aquí es el estado vector. Sin embargo. Considera la ecuación diferencial ẋ = 3x2/3 . uno esperaría que correspondería a cada entrada u (. etc. el problema original se sustituye por otro del cual se determina el óptimo. x(0) = 0. Alguna vez as pensado en como podrías aplacar el que se quiebre? 1. valoración de precios.6) Aquí el signo (x) es definido para ser 1 si x y el signo (x) = -1 si x < 0. la programación separable y la programación estocástica.[7] INTRODUCCIÓN A LA PROGRAMACIÓN NO LINEAL La programación no lineal tiene como objetivo la optimización de funciones no lineales o lineales sujeto a restricciones no lineales. x ϵ Rn es x0 el estado del sistema en el tiempo 0 y x ϵ Rm es el control o función de fuerza. En los métodos indirectos. Métodos numéricos Métodos gráficos Métodos experimentales (1.5).6). (1. el sistema es un modelo aceptable de la dinámica de un termostato de la temperatura del punto. (El lector puede elegir divertirse un poco con la consideración cuanto tiempo se necesitaría para simular una ecuación con más o menos 10 estados y una red de discretizacion y para condiciones iniciales como 10 por unidad a lo largo de cada existencia para las condiciones iniciales) 2. Por consiguiente. El procedimiento localiza el optimización estrechando en forma progresiva el intervalo de incertidumbre hasta cualquier grado de exactitud que se desee. Clasificación de los métodos de optimización Los métodos de optimización se pueden clasificar como: Métodos analíticos.u. (1.5) fuera a fin en x y u por cada t. no puede haber función continua diferenciable satisfaciendo (1. El análisis involucra herramientas matemáticas que son más avanzadas en concepto e involucradas en detalle. aunque tuviéramos las computadoras más poderosas a nuestra disposición.t). i.): . o el mínimo de un problema siguiendo la mayor tasa de aumento o disminución de la función objetivo. proyectos. Las típicas áreas de aplicación son procesos químicos. . modelado por x = 0 (uno puede imaginarse el horno encendido al máximo cuando la temperatura cae por debajo el punto puesto y el aire acondicionado encendido a toda potencia cuando el termostato se eleva por sobre el punto indicado) En realidad. Toma en cuenta que los requerimientos después en esta lista exitosa mente subsume la anterior: Se ponen mas demandantes en su generalidad de (1.

La forma de acabar con esta dificultad es limitar convenientemente el rango de las variables independientes. obtenemos un problema de programación lineal. Los numéricos: la utilización de información pasada para generar una mejor solución del problema a optimizar por medio de procedimientos interactivos. Entonces la función es insensible a cambios en los valores de las variables que pertenecen a los términos pequeños. añadiendo restricciones o replanteando nuestro modelo matemático. En programación no lineal general podemos excluir de toda consideración los siguientes casos especiales: a) Cuando las variables están restringidas a valores enteros. Con los resultado obtenidos se decidirá donde realizar el siguiente experimento y así lograr mejores variables. Pero estos métodos no suelen ser apropiados para todos los problemas no lineales. Hj (x) = 0 j = 1. b) Cuando las restricciones incluyen el parámetro tiempo formado ecuaciones diferenciales El problema de programación no lineal general se puede formular como: Min f(x) Sujeto a m lineales y/o no lineales restricciones de igualdad. las igualdades y desigualdades son todas lineales.2. Gráficos: consiste en preparar una grafica de la función a optimizar. Se deberá plantear adecuadamente las características del proceso real El modelo matemático contiene las funciones a utilizar en la optimización. PROBLEMA DE PROGRAMACIÓN NO LINEAL GENERAL Tiene como finalidad optimizar el problema. En caso de que la función objetivo sea cuadrática y las restricciones lineales se obtiene el problema de programación cuadrática que se puede formular como sigue: Min f(x) = a0 + cT x + xT Qx Sujeto a: aT x ≥ b • • . Cuando la función objetivo.2. perdidas.……m x= [x1. se pueden encontrar una serie de dificultades como por ejemplo: • Alguna de las restricciones e incluso el criterio a optimizar se puede hacer infinito su rango de búsqueda de extremo. sujetas a ciertas restricciones la mayoría de los estos problemas de optimización cuando los plantean de forma matemática se pueden agrupar en una categoría de problemas de programación no lineal. pudiendo ser estas lineales o no lineales..…. rendimientos. aun cuando se plantee bien el modelo. También podría ser que las derivadas parciales de las funciones llegaran a tender a ser infinitas. pudiendo así llegar a obter un falso extremo. El poder llegar a existir un escalamiento entre las variable. que representa costos.. encontrar un extremo de la función objetivo que está sujeta a restricciones de igualdad y/o desigualdad . EL PROBLEMA DE PROGRAMACIÓN NO LINEAL En ingeniería el analista se encuentra normalmente enfrentándose con el problema de optimizar determinadas fusiones. Si la tiene además restricciones se deben de utilizar técnicas tales como los multiplicadores de langrage. Dificultades de la optimización Existe una seria de dificultades en la optimización de modelos de procesos reales que se pueden clasificar dentro de dos categorías: Una se refiere a la formación del modelo matemático del proceso Y la otra a las técnicas de resolución numérica. llamadas funciones objetivos. con este método podrás darte cuenta si existe o no una función. Esto podría llegar a ocurrir cuando uno de los términos en la función a optimizar es de un orden de magnitud muy diferente que el otro. etc.……m Y(p-m) lineales y/o no lineales restricciones de desigualdad. ganancias. Son propensas a estos riesgos los modelos que tienen polinomios en el denominador. El criterio a optimizar puede ser sensible a cambios en las variables independientes. se debe de representar adecuadamente las características del proceso real en el método formulado. Estos métodos buscan los extremos de una función mediante valores de x que hacen que la derivada de f(x) con respecto de x sea 0. Experimental: podemos obtener el extremo de la función por medio de experimentación de las variables reales.Analíticos: emplean las técnicas de cálculo diferencial. Gj (x) ≥ 0 j = m + 1. para obtener la función con el extremo de la grafica.xn]T є EN Una representación alternativa de las expresiones anteriores podría ser: Min { f (x) / x є R } donde R es un dominio de x definido como: R = { X/hj = 0 ≥ 0 Vj } Los problemas de programación cuadrática y lineal se pueden considerar dos casos especiales del problema de programación no lineal general.

En general. en este caso un modelo para encontrar que maximice los ingresos seria un modelo no lineal. En un modelo lineal. algunas razones importantes (y no necesaria mente distintivas) de la no linealidad son: 1. ideológicas económicas y lógicas puede dar lugar a la aparición de las características de no linealidad e un modelo.[8] Ejemplo 1 Considere el problema P) min -2x1x2 .a. 3. x2) ϵ R2 . Esta dependencia se expresa como ventas = f(p).Donde a y b son las matrices de coeficientes y Q es un matriz cuadrada simétrica definida positiva o semidefinida positiva. así el ingreso estaría representado por Ingreso=precio x ventas = p X f(p) que es no lineal en la variable p.2x2 + x12 + 2x22 s. De hecho. donde f es una función específica (no constante) de p. estructurales. Pongamos un ejemplo sencillo. Es importante saber que cuando se formula un modelo es saber cuándo una versión linealizada puede proporcionar una representación adecuada del mundo no lineal. Sin embargo el precio puede son en realidad un variable y la cantidad vendida la demanda puede ser dependiente del precio. el ingreso se expresa como px y y decimos que es proporcional al precio. [8] Introducción de los modelos de optimización no lineales Las funciones o relaciones matemáticas que intervienen en muchos problemas empresariales y económicos no son totalmente lineales. Por consiguiente. Relaciones no aditivas Las eficiencias o ineficiencias de la escala En suma cualquier numero de relaciones físicas. (x1. tal vez podemos decir que los problemas del mundo real que encajan en el estricto molde de la linealidad son la excepción y no la regla. suele suponerse que el precio es una constante dada. Relaciones no proporcionales 2. digamos p y las ventas es la cantidad por venderse es una variable x supuestamente independiente del precio. Un modelo solo es una representación abstracta de la realidad.

analizar su complejidad y descomponerlo en subprogramas más pequeños que puedan llevarse a cabo más fácil mente. como colas de prioridad. Un algoritmo simple puede crear un estructura de datos complicada y un algoritmo complicado puede utilizar estructura de datos simples. el que debe estudiarse para comprender como está siendo abordado el problema que es adecuado para su implementación como programa de computadora. Así estructura de datos y algoritmos están íntimamente relacionados. Muchos algoritmos interesantes llevan implícitos métodos de organización de los datos utilizados en el cálculo. Las estructuras de datos son el producto secundario o finales de los algoritmos. posiblemente que llegue a tardar un poco más. describen y comparan un gran número de métodos. 1. Los métodos de ordenación son de gran importancia para reorganizar archivos en un orden determinado. Los objetos creados de esta manera se denominan planteamiento de datos.[9] EJEMPLO DEL METODO DE NEWTON La escritura de un software de computadora consiste en implementar un método de solución de un problema. Podría llegar a ser no tan favorable esmerarse excesivamente para asegurarse de que una relación sea lo más eficientemente posible al menos que se trate de un algoritmo susceptible de utilizarse en una tarea muy amplia o que sea utilizado muchas veces. por lo que es necesario estudiarlos con el fin de comprender los algoritmos. selección y fusión. Se desarrollan. Los algoritmos son la esencia de la informática. Normalmente este método es independiente del ordenador utilizado. Por lo contrario la elección del algoritmo inadecuado desde un principio puede ocurrir una gran diferencia de cambio de tiempo de ejecución. que se ha diseñado previamente. En otros casos bastara una implementación relativamente simple. o estructura de datos. Se tratan algoritmos para diversos enunciados de problemas. En cualquier caso el método no en el programa. También es muy importante los métodos de búsqueda de datos en los archivos. Los programas están frecuente mente sobre optimizados. se puede tener una cierta confianza en que funcionara. 2. Cuando se desarrolla un programa muy grande unas partes del esfuerzo se centra a comprender y definir el problema a resolver. .

4. pero incomprensibles para los ordenadores.se estudian algoritmos para buscar el cerco convexo de un conjunto de puntos para encontrar interacciones entre objetos. En 1983 el instituto nacional de estándares americanos (ANSI) creó un comité para establecer una definición estándar de C que fuese no ambigua e independiente de la arquitectura interna de cualquier ordenador. Consiste en obtener un fichero equivalente a nuestro programa fuente comprensible para el ordenador. actualmente cualquier compilador moderno soporta ANSI C. 6. Muy poca disposición de datos. concordancia y el árbol de expansión mínimo. al menos no directamente. 5. que nos pueden resultar no muy legibles. Juego de operadores muy rico: la gran variedad de operadores que permiten realizar muy diversas acciones. 5. 3. manejar números. Utilizaciones simples de las primitivas del sistema operativo: es muy fácil de entrar desde un programa . 2. en 1973. C fue creado inicialmente con un propósito el cual era el diseño del sistema operativo UNIXA. se puede emplear para realizar casi cualquier tipo de programas. Es fácil escribir programas pocos legibles. Permite la solución recurrente (tomar atajos). Para conseguir un programa ejecutable hay que seguir algunos pasos. Estos métodos conducen al reconocimiento de patrones en las cadenas que a su vez conduce a su análisis. No dispone de un gestor de memoria integrado. como darnos cuenta de cuál es el camino más corto.[11] Fichero fuente y programa o código de fuente: Los programas C y C++ se escriben con la ayuda de un editor de textos del mismo modo que cualquier texto corriente. el flujo de red. escribir en la pantalla. Características generales del C Ventajas: 1. elaborado en C facilitar el sistema operativo sobre el que estemos trabajando. etc. y su contenido como código objeto. código objeto y compiladores: Los programas fuente no pueden ejecutarse. generando un código muy rápido. Las librerías El lenguaje de programación C fue desarrollado por Dennis Ritchie en los laboratorios Bell del a empresa de comunicaciones ahora conocida como AT&T. Los ficheros que contiene programas en C o C++ en forma de texto se conocen como ficheros fuente. Potencia de un ensamblador: es posible trabajar con el lenguaje C como si se tratara de un lenguaje ensamblador. Los algoritmos geométricos son un conjunto de métodos de resolución de problemas a base de puntos y rectas. Librerías: Junto con los compiladores de C y C++. 7. Por lo tanto existen diferentes compiladores para diferentes sistemas operativos y para cada tipo de ordenador. pensados para que los comprendan los seres humanos. Son muy fácil de trasladar de un sistema a otro. Sin embargo sin embargo rápidamente se revelo como un lenguaje muy potente y flexible lo provoco que su uso se extendiese rápidamente. Concisión de los programas: el que se pueden realizar muchas acciones con pocas pasos. Los compiladores de C son rápidos y compactos. Lenguaje de propósito general: no está diseñado para ningún tipo de software en particular. 2. Dispone de un gran número de operadores de bits. Inconvenientes: 1. Tipos de datos demasiado próximos a la maquina. Además es diferente para cada ordenador y para cada sistema operativo. El C nos permite escribir expresiones muy difíciles. [10] 8. 4. Los algoritmos de procesamiento de cadenas incluyen métodos de manipulación de sucesiones de caracteres. 5. se incluyen ciertos ficheros llamados librerías. (portabilidad). Los algoritmos matemáticos: estos presentas métodos fundamentales que originan de análisis numéricos y de la aritmética. Control de tipos poco severos: El compilador no tiene un gran control de las operaciones que se realizan con los datos. Los compiladores son programas que leen un fichero de texto que contiene el programa fuente y generan un fichero que contiene el código objeto. para resolver problemas de proximidad y para la búsqueda multidimensional. realizar funciones matemáticas. Los algoritmos sobre grafos: son útiles para una gran variedad de problemas difíciles. incluso fuera de AT&T de esta manera programadores de todo el mundo empezaron a usar el lenguaje C para escribir programas de todo tipo. 3. Ficheros objeto. El primero es compilar o traducir el programa fuente a su código objeto equivalente. 6. Las librerías contienen el código objeto de muchos programas que permiten hacer cosas comunes. Se desarrolla una estrategia para la búsqueda de grafos y se aplican a los problemas fundamentales de conectividad. Las que se utilizan son funciones de biblioteca. permite un fácil acceso a la memoria. 4. puede ser ejecutado. Nosotros siempre escribiremos programas fuente y los guardaremos en ficheros fuente. Finalmente en 1989 se estableció el estándar ANSI C. y el texto del programa que contiene se conoce como programa fuente. Son ficheros de texto. como leer el teclado. Este es el trabajo que hacen los compiladores de C y C++. Carece de instrucciones de entrad y salida. éste fichero se conoce como fichero objeto.3. El código objeto no tiene ningún significado para los seres humanos. ya una vez copilado .

etc. Errores de sintaxis: son errores en el programa fuente. usar librerías. están definidas en ninguno de los ficheros objetos ni en las librerías. ya sean ANSI o no. expresiones erróneas o incompletas. De hecho nos dará sólo una cosa o la otra. Hay varias razones para eso: 1. o lo hayamos hecho mal. en general. Veremos esto con más detalle durante el curso. y por lo tanto nos equivocamos. variables que no existen. de manejo de memoria. se basan en las directivas que los creadores del compilador decidieron durante su creación. etc. Nada te impide a ti. ya que si hay errores no es posible generar un código objeto. Oirás y leerás mucho sobre éste tema. Errores de ejecución: incluso después de obtener un fichero ejecutable. como programador. la mayor parte de estos compiladores están respaldados por enormes librerías escritas en C. Los errores de sintaxis se detectan en la fase de compilación. Todo puede programarse con ellos. y fallos que se presentan dependiendo de circunstancias distintas. nuestros programas estarán compuestos por varios ficheros fuente. Ficheros ejecutables y enlazadores: Cuando obtenemos el fichero objeto. Tanto C como C++ son lenguajes de programación de propósito general. En el caso de los errores de ejecución normalmente no obtendremos mensajes de error. pero no lo suficientemente graves como para impedir la generación del código objeto. Después de un tiempo trabajando. Puede que hayamos olvidado incluir alguna librería. Pero detrás de cada línea de estos compiladores de alto nivel hay cientos de líneas de código en C.están clasificadas por el tipo de trabajos que hacen. Son las librerías ANSI o estándar. errores sutiles. funciones que estarán incluidas en librerías externas. Hay un conjunto de librerías muy especiales. Es necesario combinar nuestro fichero objeto con esas librerías para obtener un ejecutable. dependiendo de la fase en que se presenten. ya que el compilador tiene que decidir entre varias opciones. Errores de diseño: finalmente los errores más difíciles de corregir y prevenir. y sus decisiones no tienen por qué coincidir con lo que nosotros pretendemos. o puede que hayamos olvidado definir alguna función o variable. que se incluyen con todos los compiladores de C y de C++. es importante corregir estos avisos. e incluso crear las tuyas propias. Es necesario unir todos los ficheros objeto. Si nos hemos equivocado al diseñar nuestro algoritmo. o algún fichero objeto. no habrá ningún programa que nos pueda ayudar a corregir los nuestros. El fichero objeto. todos los programadores desarrollan sus propias librerías para aquellas cosas que hacen frecuentemente. Normalmente se refieren a funciones que no . el compilador puede dar también avisos. La pila es una zona de memoria que se usa para que el programa intercambie datos con otros programas o con otras partes del propio programa. Existen programas auxiliares para buscar estos errores. En éste curso sólo usaremos librerías ANSI. y para que organice la memoria de modo que se disponga de una pila de tamaño adecuado. además de generar el código objeto. Contra estos errores sólo cabe practicar y pensar. Errores de enlazado: el programa enlazador también puede encontrar errores. nos dará una lista de errores de sintaxis.[12] UN EJEMPLOS DE PROGRAMCION C 2. No obstante. Una de las propiedades de C y C++ es la reutilización del código en forma de librerías de usuario. Es cierto que un listado completo de un programa en C o C++ para gestión de bases de datos (por poner un ejemplo) puede requerir varios miles de líneas de código. y dentro de estas las hay públicas y comerciales. Avisos: además de errores. 3. pasando por juegos. de manejo de textos. etc. y de cada uno de ellos se obtendrá un fichero objeto. etc. más las librerías en un único fichero ejecutable. somos humanos. hay librerías de entrada y salida. aún no hemos terminado el proceso. matemáticas. Estos programas permiten detener la ejecución de nuestros programas. son los llamados depuradores. es posible que se produzcan errores. Pero también hay librerías no estándar. Estos errores son más difíciles de detectar y corregir. aplicaciones a medida. Muy a menudo. a pesar de ser comprensible para el ordenador. Nuestros programas usaran. desde sistemas operativos y compiladores hasta aplicaciones de bases de datos y procesadores de texto. Los errores de programación pueden clasificarse en varios tipos. Hay que dar ciertas instrucciones al ordenador para que cargue en memoria el programa y los datos. no puede ser ejecutado. Propósito de C y C++ ¿Qué clase de programas y aplicaciones se pueden crear usando C y C++? La respuesta es muy sencilla: TODOS. inspeccionar variables y ejecutar nuestro programa paso a paso. Pueden deberse a palabras reservadas mal escritas. Esto es una verdad a medias. Los avisos son errores. Errores: Por supuesto. y que su equivalente en Visual Basic sólo requiere unos pocos cientos. El compilador. Esto resulta útil para detectar excepciones. sino que simplemente el programa terminará bruscamente. Sobre todo diciendo que estos lenguajes son complicados y que requieren páginas y páginas de código para hacer cosas que con otros lenguajes se hacen con pocas líneas.

/* hallamos el cuadro de las dos variables leidas */ x2 = x * x. Al año siguiente. y Eirik Haavard salió a disfrutar del sol. &a). La línea 5 se crea un objeto QApplication para gestionar toda la aplicación de recursos. x.0. argv). por ejemplo. Haavard y Eirik habían desarrollado el primer núcleo de gráficos de Qt y fueron capaces de poner en práctica sus propios widgets. Un par de años más tarde. x3=0. Macintosh. Printf (“\n El cuadrado de [%f] es: %f. Haavard tomó la idea y produjo una implementación de codificación manual. Un día de ese verano. Haavard sugirió que que entrar en un negocio conjunto para construir "el mejor del mundo C + + GUI toolkit". y2.h> 002 #include <qlabel. %f”. Haavard y Eirik se trabajando juntos en una aplicación C + + base de datos de imágenes de ultrasonido.&y). comenzó a escribir Haavard las clases que finalmente se convirtió en Qt. "La discusión resultante sentó las bases intelectuales para el kit de herramientas multiplataforma orientado a objetos GUI que pronto van a construir. Interés Haavard en C + + GUI desarrollo comenzó en 1988 cuando recibió el encargo por una empresa sueca para diseñar e implementar un C + + GUI toolkit. El constructor QApplication requiere argc y argv porque Qt soporta algunos argumentos de línea de comandos propios. x3).0. QStatusBar uno. y2 = y * y. En 1991. Haavard dijo: "Necesitamos una . Haavard y Eirik se conocieron en el Instituto Noruego de Tecnología en Trondheim. el programa sigue corriendo en segundo plano. 009 return app. El argumento de 0 al constructor QLabel (un puntero nulo) significa que el widget es una ventana en su propio derecho. Al final del año.exec (). a. Noruega. no un flash dentro de otra ventana. Los widgets pueden contener otros widgets. /* hallamos el cuadro de las dos variables leidas */ X3 = x2 * x. y los marcos son ejemplos de widgets. Botones. Al principio fue desarrollado por Haavard Nord (CEO de Trolltech) y Eirik Chambe-Eng (Trolltech presidente). La línea 6 crea un widget QLabel que muestra "Hola Qt". x2=0. En la terminología de Qt. and Windows. scanf (“%c”. donde ambos se graduaron con maestría en ciencias de la computación. entonces veremos cómo compilarlo y ejecutarlo. y3=0. Un programa en C que lee un carácter desde teclado y muestra en pantalla su código ASCII #include < stdio. un paradigma de interfaz gráfica de usuario de programación simple pero poderoso. } orientada a objetos pantalla del sistema. barras de desplazamiento. scan(n%f. un widget es un elemento visual en una interfaz de usuario.setMainWidget (label). La del sistema necesarios para poder ejecutar con una interfaz gráfica de usuario en Unix. Y3 = y2 * y. char *argv[]) 004 { 005 QApplication app (argc. Un programa que calcula el cuadrado y el cubo de os números y los muestra en pantalla: # include < stdio. printf (“ El código ASCII del carácter %c es %d”. y=0.h > Void main( ) { /* declaramos las variables a utilizar */ float x=0. 008 label->show ().h> 003 int main (int argc. 006 QLabel *label = new QLabe l("Hello Qt!". menús. 007 app.1. Línea 7 makesthe etiqueta del widget application'smain. y3).h > Main ( ) { int a. \tY el cubo es %f”. y mientras estaban sentados en un banco del parque.0. QToolBar uno. He aquí un programa Qt muy simple: 001 #include <qapplication. y algunos otros controles. en el verano de 1990. incluso después de que el usuario ha cerrado la ventana. y. }[12] UNA BREVE HISTORIA DE QT El kit de herramientas Qt por primera vez disponible al público en mayo de 1995. colaborando con Eirik en el diseño. Sin un widget principal. va a estudiar línea por línea. En 1993.a). x2. printf (“dame un carácter:”). \tY el cubo es %f”. por ejemplo).0. 2. Eirik vino la idea de "señales y slots". /* mostramos por pantalla los datos y los resultados */ Printf (“\n El cuadrado de [%f] es: %f. Cuando el usuario cierra el widget principal (haciendo clic en X en la barra de título de la ventana. el programa termina. 0). una ventana de aplicación es generalmente un widget que contiene una QMenuBar. /*lectura de las variables*/ Prinf (“\nintroducir dos valores reales separados por coma: n). Las líneas 1 y 2 incluyen las definiciones de las clases y QApplication QLabel. 010 } En primer lugar.0. &x.

La línea 8 tiene la etiqueta visible. El sistema está formado por distintos módulos. 3. problema del camino más corto. problemas con función objetivo cuadrática y restricciones lineales. Widgets se crean siempre oculta. Linear programming (LP) and integer linear programming (ILP): este módulo incluye los programas necesarios para resolver el problema de programación lineal gráficamente o utilizando el algoritmo del Simplex. Acciones de los usuarios generar eventos (también llamados "mensajes") en que el programa puede responder. y terminar sin intervención humana. a fin de evitar el parpadeo. el de asignación. [13] UN PROGRAMA PARA RESOLVER ESTE TIPO DE PROBLEMAS WinQSB es un sistema interactivo de ayuda a la toma de decisiones que contiene herramientas muy útiles para resolver distintos tipos de problemas en el campo de la investigación operativa. REFERENCIAS Hola en Windows XP. En este punto. y problemas no lineales con restricciones utilizando el método SUMT (función objetivo con penalizaciones sobre el incumplimiento de las restricciones). y problema del agente viajero. Network modeling (NET): incluye programas específicos para resolver el problema del transbordo. PERT/CPM: módulo de gestión de proyectos en los que hay que realizar varias actividades con relaciones de precedencia[14] CONCLUSION Comprendí que programación no lineal es la manera para resolver un sistema de igualdades y desigualdades sujetas a un conjunto de restricciones (su función objetivo no son lineales) representara una curva o varias. es decir. el . Entre ellos destacaremos los siguientes: 1. por lo general mediante la ejecución de una o más funciones. de modo que podemos personalizar antes de mostrarlos. 2. Quadratic programming (QP) and integer quadratic programming (IQP): resuelve el problema de programación cuadrática. y por lo general los problemas con los que uno se encuentra en la vida cotidiana suelen ser de este tipo (Programación No Lineal). 4. el algoritmo son los pasos a seguir para resolver dicho sistema. también permite resolver los problemas de programación lineal entera utilizando el procedimiento de Ramificación y Acotación (Branch&Bound). 6. el problema del transporte. las aplicaciones de interfaz gráfica de usuario difieren drásticamente de los programas de lotes convencionales. Linear goal programming (GP) and integer linear goal programming (IGP): resuelve modelos de programación multiobjetivo con restricciones lineales. 5. árbol generador. Los modelos de IQP los resuelve utilizando algoritmos de ramificación y acotación. Utiliza un método Simplex adaptado. En este sentido. Nonlinear programming (NLP): permite resolver problemas no lineales irrestringidos utilizando métodos de búsqueda lineal. uno para cada tipo de modelo o problema. donde se espera a que las acciones del usuario. Línea 9 pasa el control de la aplicación a Qt. el programa entra en una especie de modo stand-by. como clics del mouse y pulsaciones de teclas. hay barias formas de resolver estos problemas como algunos programas como el explicado anteriormente. que por lo general de entrada del proceso. flujo máximo. resultados.