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

entonces el sistema lineal admite de un continuo de soluciones periódicas. x (0) = 0. los sistemas lineales de la forma de (1. Variación periódica de las variables de estado o de ciclos límite. Si A ϵ Rn x n tiene valores propios en el eje imaginario (en adelante. 2. 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. una pequeña variación de parámetros en los modelos de sistema lineal se destruye la continuidad de soluciones periódicas. si el estado inicial en el tiempo t = 0 de la ecuación diferencial (1. Equilibrios múltiples funcionamiento o varios puntos de • Los sistemas con muchos equilibrios abundan en la práctica. consideremos el modelo de ecuaciones diferenciales lineales ẋ = Ax (1. es decir. En la ecología de poblaciones. consideramos. que estudiaremos más adelante. y la estabilidad de estas características. Hay muchos ejemplos de sistemas cuyas características cualitativas. 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. sistemas dinámicos lineales con soluciones periódicas no son modelos robustos. por ejemplo • Los circuitos digitales para la lógica de Binay tener por lo menos dos estados estables. Un rayo cinturón abrochado tiene dos estados estables. 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. Estos pueden ser en número finito.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. momento en el que adquiere dos estados estables abrochado y desabrochado un estado inestable. entonces el estado de la ecuación sigue siendo 0 para todo t. o estado de resistencia cero (cuando existe un equilibrio estable único). En consecuencia.1) con x ϵ Rn y A ϵ Rn x n. considere de nuevo el sistema lineal de (1. 3. Bifurcaciones 1. es decir. El punto x = es un punto de equilibrio del sistema. Es decir. Por lo tanto.1) es 0. existen sistemas con soluciones múltiples y periódicas. el estado de conducción (cuando existe una órbita periódica y un . 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. y esta oscilación marca la transición de los superconductores para la realización de la región. tales como el número de puntos de equilibrio. entonces x = 0 es el único punto de equilibrio del sistema lineal. Que la naturaleza cíclica de estos fenómenos se obtiene de un único ciclo límite estable. • • No. Se trata de un conjunto infinito de inexplicable punto de equilibrio. hay múltiples poblaciones de equilibrio de las especies que compiten. x (t) ≡ 0. 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. 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. Si una singular. Como en el caso de múltiples puntos de equilibrio. Si A es una matriz no singular. A modo de contraste. y en lugar de producir ya sea un punto de equilibrio estable o inestable. el número de ciclos límite. • • 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. el conjunto de equilibrios del sistema es el espacio nulo de la matriz A. Otros ejemplos relacionados con el modelo periódicas contracciones musculares en el esófago y los intestinos. a) Una vez más. Por lo tanto. los cambios con la variación paramétrica en el modelo. 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. Sin embargo. ya que si A fuera singular.1).1. una matriz constante. • 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. el eje jω).

por el momento. En este ejemplo. pero el modelo con x continua es sorprendente lo suficientemente robusta como para superar este inconveniente. Comportamiento dinámico complejo Vamos a contemplar el comportamiento dinámico del sistema lineal de (1. tenemos en cuenta la dinámica de una ecuación en diferencias muy simple de primer orden. No hay un modelo lineal de este fenómeno. las soluciones de la ecuación (1. b) Fase Locked Loops para el seguimiento. se produce cuando la tensión a través de ellas se sube o baja. ninguno de los cambios descritos anteriormente pueden ser capturados por un modelo lineal parametrizado.punto de equilibrio o simplemente una órbita periódica) como la cantidad de actual pasa por obligar a un valor crítico. Sistemas lineales con parámetros tienen un comportamiento que es mucho menos sutil. la x de la población es discreto. las arritmias (en el músculo del corazón) o saltar lazo (para la fase de bucle cerrado). 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. en realidad. 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. Además. en: a) las células del músculo cardíaco. Por los valores propios de la matriz A que sea la decadencia a cero o volar cuando t → ∞. para concretar el lector tal vez desee considerar la función f(x) = hx (1 . las células musculares que causan los movimientos peristálticos del intestino y el esófago. Estos sistemas evolucionan de maneras que son un poco más sutil que las divergencias o la contratación de exponenciales. se asigna el intervalo [0. sin embargo. lo que revela algo de sutileza increíble.1. 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. Como hemos comentado anteriormente.1] sí mismo en. Con f de la ecuación (1. (1. De ello se desprende que para h ≤ 4.2 se conoce como el mapa logístico. el sistema puede cambiar de estable a inestable. ya que pequeñas perturbaciones va a eliminar los valores propios fuera del eje jω En contraste.x). la dinámica de los modelos de población. Estos se conocen como la dinámica caótica o compleja. xϵ [0. por ejemplo. . El número de equilibrios puede ir hasta el infinito si alguno de los valores propios de pasar por el origen.1].3). 4. Dinámica caótica o complejas son ejemplos de dinámicas que no pueden ser generados por los modelos lineales.3) Osciladores acoplados débilmente cuando se sincronismo de fase y frecuencia.1) ni la decadencia ni explotar para cualquier condición inicial. con exponentes dados.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. considerar un sistema discreto: xt + 1 = f (x) (1. 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. por ejemplo. 5. el la dinámica de muchos sistemas físicos puede ser una función compleja y delicada de las condiciones iniciales. d) El comportamiento de histéresis en los valores actuales de ciertas resistencias de un puerto. los modelos climáticos y modelos de flujo de Esta función tiene un único máximo en x = ½ de magnitud h / 4. En la literatura de divulgación científica. una tasa constante huida rollo constante. el modelo 1. Nosotros. tales como los diodos túnel. fluidos turbulentos. e) A medida que el ángulo de ataque de un avión cambia. Es muy simple: las respuestas son sumas de exponenciales. por ejemplo. 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. este modelo no es robusto. cuando los valores propios de A no están en el eje jω. Es cierto que. 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. La forma cualitativa de la función f se muestra en la Figura 1. Como los parámetros del cambio de sistema.1). Pequeños cambios en las condiciones iniciales pueden hacer las trayectorias muy diferentes en el tiempo.

en este caso xt tiende a cero monótonamente en el paso t.3. En cuenta la situación de la figura 1. 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). dada por: x0*= 1 . La figura 1.1. Por lo tanto. Hay que tener en cuenta que la población es estable valor x0* función de h.25. 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. La consiguiente aparición de la evolución de la variable de estado de la población es el de una telaraña.4. 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. Por lo tanto x0*es una población en equilibrio estable. Figura 1. como en la figura 1.3). Para concretar. Otra forma de entender estos resultados es mediante el examen de la dinámica de la evolución en dos etapas. 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. En otras palabras.449 El aumento de la altura de la joroba aún más.3) gráficamente: una estrella. Un período de 2 ciclo límite es equivalente a una plaza cerrada en la tela de araña en la figura 1. Este término es. El caso 3 < h ≤ 1 + = 3. Figura 1. el punto de intersección denota por x0* es un equilibrio. Tenga en cuenta que si la población tuviera que empezar en el Figura 1. con el estado inicial x0 en el eje horizontal y se lee de x1 = f (x0) en el eje vertical. lo que demuestra el inicio del ciclo de periodo límite de 2. Además xt + 1 ˂ xt cuando la población es grande (competencia por el alimento y el aumento de la probabilidad de la enfermedad). que muestra la gráfica de f cruzar la línea de 45 grados.2 muestra cómo se resuelve la ecuación (1. la curva y = f (x) se encuentra por debajo la recta y = x. a saber. en realidad. sin aumentar su apoyo (es decir. También (verifique esto gráficamente por sí mismo) todas las condiciones iniciales cero. xt + 1 = f (x) = x . • El caso 0 ≤ h ˂ 1. (1. no importa lo pequeños que son.4) .punto de intersección que se quedaría allí. 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. El h1 valor se llama una bifurcación duplicación del periodo punto. h ≥ 1.4 muestra la telaraña en h1 = 3. El cero de la población.4 la participación de la población alterna entre dos valores de x *1 y x 2*.1/h. x t + 1 = f (f (xt) ) =: f 2 (xt). 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 punto de equilibrio se mueve desde el lado izquierdo de la joroba en el lado derecho. lo que corresponde al aumento de la h de parámetros en la función de (1. es decir. Además. • El caso 1 ≤ h ≤ 3. Solución gráfica de un sistema unidimensional El equilibrio es inestable. es decir. un poco de experimentación gráfica se muestra. h = 2.2. esto corresponde a una situación en la que la población se extingue asintóticamente por falta de alimentación adecuada. El valor del parámetro en el que el cero de la población que viene-inestable es h0 = 1. ya que en el punto de intersección. 1. por lo que el aumento de la población (abundancia de alimentos y espacio vital). convergen en x0* para 1 ≤ h ≤ 3. Por lo tanto f (x) > x para x pequeñas y f (x) < x para x grande. Vamos a estudiar el efecto de elevar la altura de la joroba. Ahora aumenta la altura de la joroba.

tenga en cuenta que tanto los puntos x*1.4) es uno de estrobo o el muestreo de la dinámica del sistema de (1. como se muestra en la Figura 1. Esta intuición está en lo correcto. se puede conjeturar que la altura de la joroba original es mayor. x*2 son los equilibrios del sistema de la ecuación (1.3) y más visual. pero su verificación formal de las necesidades de cálculo sistemático y un esfuerzo considerable. es decir f compuesta con f. De hecho.4).544 dieciséis período 16 = 24 puntos aparecen en h4 = 3. También. que b 4 joroba para este caso.449 < h ≤ 30570. Por lo tanto.Figure1. Así. De hecho. En realidad. y un período de 4 puntos (la formación de un período de 4 de ciclo límite).4 cada dos pasos de tiempo. el retrato de la figura 1.5 en tres puntos para h> 3 en la intersección media corresponde al período del 1 solución. puntos del periodo 2k estrella que aparece cada vez con más frecuencia en h. 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. La extrapolación de estas observaciones. precisamente cuando el valor del parámetro h = 3. un equilibrio estable único La forma de la función f2(x) = f(x) o f(x). 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. la característica notable del teorema de Feigenbaum es que la relación de la bifurcación . El caso 3. 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.…. Figura 1.3.564 y así sucesivamente.5. Además. Un período de 2 ciclo límite Figura 1.449. donde f es empinada suficiente. Asociados con esta respuesta es el sistema que corresponde a f4. Feigenbaum ha demostrado que. ocho periodo de 8 = 23 puntos aparecen en h3=3. Si este programa se lleva adelante aún más.4.n = 1.. 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. h2 = 3.4). por ejemplo.449 es el segundo período duplicar punto de bifurcación. (no confundir con el cuadrado de f ) es una curva de dos jorobas. 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. Tenga en cuenta que la línea de 45 grados cruza la curva de dos jorobas de la Figura 1..2. la interpretación de la dinámica del sistema de (1. f2 adquiere su carácter de doble joroba.5 la gráfica de f 2 2. y un período de 4 tiempos límite aparece en h2 = 3.3.

Por lo tanto en estos valores de h o mayores. si el tiempo del sistema discreto es tiene un punto de cierto periodo. De hecho en el valor de h. y la secuencia de bifurcación describida arriba es referida como periodo de doble ruta al caos. Un complot de la secuencia de bifurcación del mapa logístico mostrando el periodo doblando la bifurcación dada en la figura 1.7. Esto. “periodo tres implica caos”. Puntos de equilibrio Estable e Inestable como una función de la altura de la joroba Figura 1. 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. 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. Para algunas condiciones iniciales las interacciones son periódicas y la trayectoria parece vagar.6692…. 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.839. En una interesante generalización del análisis de mapa logístico por Sharkovskii. que en realidad precede el trabajo de Li y Yorke. 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. En el contexto de nuestro ejemplo del (1.6 Un período de 3 ciclos límite Valores es exactamente 4.570 <h <3.5).. Hay por primera vez un punto periódico de periodo 3. la mayora de la características cualitativas son reservadas. En términos de población ecológica.. 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. 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. sino también para otros un mapa de parámetros que están "cerca" de ella. seguido por 22 por el entero impar excepto 1. hay puntos periódicos de arbitrario al igual como algunos puntos periódicos.839. la dinámica del mapa logístico son muy complicadas. en turno. un punto arreglado de f3 = f ᵒ f ᵒ f (ver problema 1.7. Sharkovskii ordeno los números pares como: 4. El descubrimiento de estos valores fue el titulo de un punto de referencia documento por Li y Yorke. ie.6. cambia por periodo duplicando a un estable periodo orbita 12 y así sucesiva mente y asombrosamente una vez más el numero Feigenbuam: 4. Eso son los enteros impares excepto 1. El caso 3. El caso de 3. no sólo para el mapa específico de logística que hemos considerado. El diagrama de tele de araña mostrando el punto periódico 3 mostrado en la figura 1.839. no es sorpresa que población salvaje parecen estar bien dentro de la región no caótica. Análisis de sistemas no lineales se diferencia del sistema linear en dos maneras: COMPLEJIDAD EN DINÁMICAS NO LINÉALES . El después mostro que para un sistema arbitrario en la forma de (1.Figura 1.3). tiene puntos de periodo arbitrario.. la población x. Sorprendentemente. esto ocurre en h = 3. 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.2). Como resulta el resultado de Li y Yorke era un caso especial de un resultado anterior de Sharkovskii que discutiremos en breve. En este rango del parámetro h. 3.. Por lo tanto en particular si el sistema tiene un punto de 3. tiene puntos de todos los periodos menores que ese en el orden de Sharkovskii.6692.839 ≤ h ≤ 4 En h = 3.

Método de búsqueda directa Los métodos de búsqueda se aplican principalmente a funciones estrictamente unimodales de una variable.5) tiene exactamente una solución para todo tiempo.5) fuera a fin en x y u por cada t. uno esperaría que correspondería a cada entrada u (. Como ejemplos de estos casos están la programación cuadrática.5) tiene exactamente una solución en la misma clase como arriba (unicidad de la solución). ninguno de las declaraciones anteriores de arriba son verdaderos para sistemas no lineales. El análisis involucra herramientas matemáticas que son más avanzadas en concepto e involucradas en detalle. ∞] (existencia de la solución asta t = ∞). (1. (1. 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. El procedimiento localiza el optimización estrechando en forma progresiva el intervalo de incertidumbre hasta cualquier grado de exactitud que se desee. Falta de existencia de soluciones. Sin embargo. el sistema es un modelo aceptable de la dinámica de un termostato de la temperatura del punto.e. i. Considera la ecuación diferencial ẋ = 3x2/3 . diseño de proceso. Clasificación de los métodos de optimización Los métodos de optimización se pueden clasificar como: Métodos analíticos. en [0. simulación excesiva seria probable mente muy costosa.5) 1.6). (1.): . En el campo de la programación matemática se basa principalmente en el área de la programación lineal. problemas de diseño estructural. no puede haber función continua diferenciable satisfaciendo (1.u. x(0) = 0. 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.Generalmente hablando. uno puede obtener una solución en forma cerrada para sistema lineal. Métodos numéricos Métodos gráficos Métodos experimentales (1.[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. A consecuencias ahí una necesidad para tanto conocimiento cualitativo y repetidas simulaciones para verificación cualitativa. etc. o el mínimo de un problema siguiendo la mayor tasa de aumento o disminución de la función objetivo. Ahora daremos ejemplos de sistemas que violan los tres requerimientos anteriores. En los métodos indirectos.6) Aquí el signo (x) es definido para ser 1 si x y el signo (x) = -1 si x < 0. Como ejemplo de los métodos directos están los algoritmos de gradiente. aunque tuviéramos las computadoras más poderosas a nuestra disposición. ẋ= -sing (x). sistemas no lineales cuya dinámica puede ser describida en vectores de primera orden en la forma de ecuaciones ẋ = f(x. (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. donde se busca el máximo. Entendimiento cualitativo es importante desde entonces. el problema original se sustituye por otro del cual se determina el óptimo. proyectos. Aunque parecer trivial en el caso. Para sistemas no lineales esto es raro. x(0) = 0. ajuste de curvas asignación de recursos. la programación separable y la programación estocástica. pudiste haber notado que algunos termostatos tienden a quebrarse sobre su punto arreglado.5). Las típicas áreas de aplicación son procesos químicos. Considera por ejemplo. x(0) = x0 (1.7)[6] Aquí es el estado vector. .t).5) tiene al menos una solución perteneciente a algunas clases de funciones (existencia de una solución). 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. la idea es identificar el intervalo de incertidumbre que comprenda al punto de solución óptima. Alguna vez as pensado en como podrías aplacar el que se quiebre? 1. . 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. (1. valoración de precios. SI ecuación (1. Por consiguiente. . Es demasiada la aportación que existe sobre esa área que es posible resolver la mayoría de los problemas lineales planteados. ALGORITMOS DE PROGRAMACIÓN NO LINEAL Los métodos de solución de la programación no lineal se pueden clasificar. de manera general en algoritmos directos o indirectos. Falta de soluciones únicas.

para obtener la función con el extremo de la grafica. con este método podrás darte cuenta si existe o no una función. obtenemos un problema de programación lineal. Se deberá plantear adecuadamente las características del proceso real El modelo matemático contiene las funciones a utilizar en la optimización. Son propensas a estos riesgos los modelos que tienen polinomios en el denominador. Con los resultado obtenidos se decidirá donde realizar el siguiente experimento y así lograr mejores variables. Hj (x) = 0 j = 1. 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. añadiendo restricciones o replanteando nuestro modelo matemático. rendimientos. 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. Pero estos métodos no suelen ser apropiados para todos los problemas no lineales. Experimental: podemos obtener el extremo de la función por medio de experimentación de las variables reales. las igualdades y desigualdades son todas lineales. Cuando la función objetivo. se debe de representar adecuadamente las características del proceso real en el método formulado. 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.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 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. 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. aun cuando se plantee bien el modelo. El criterio a optimizar puede ser sensible a cambios en las variables independientes. encontrar un extremo de la función objetivo que está sujeta a restricciones de igualdad y/o desigualdad . 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... Gráficos: consiste en preparar una grafica de la función a optimizar. También podría ser que las derivadas parciales de las funciones llegaran a tender a ser infinitas. perdidas. PROBLEMA DE PROGRAMACIÓN NO LINEAL GENERAL Tiene como finalidad optimizar el problema. llamadas funciones objetivos.2.……m x= [x1.……m Y(p-m) lineales y/o no lineales restricciones de desigualdad. pudiendo así llegar a obter un falso extremo. 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. La forma de acabar con esta dificultad es limitar convenientemente el rango de las variables independientes. 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 • • . Entonces la función es insensible a cambios en los valores de las variables que pertenecen a los términos pequeños.Analíticos: emplean las técnicas de cálculo diferencial. que representa costos. El poder llegar a existir un escalamiento entre las variable. 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. ganancias. etc. Si la tiene además restricciones se deben de utilizar técnicas tales como los multiplicadores de langrage. EL PROBLEMA DE PROGRAMACIÓN NO LINEAL En ingeniería el analista se encuentra normalmente enfrentándose con el problema de optimizar determinadas fusiones. Gj (x) ≥ 0 j = m + 1.….2. pudiendo ser estas lineales o no lineales.

Por consiguiente. algunas razones importantes (y no necesaria mente distintivas) de la no linealidad son: 1. donde f es una función específica (no constante) de p. 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. Sin embargo el precio puede son en realidad un variable y la cantidad vendida la demanda puede ser dependiente del precio.[8] Ejemplo 1 Considere el problema P) min -2x1x2 . así el ingreso estaría representado por Ingreso=precio x ventas = p X f(p) que es no lineal en la variable p. De hecho. En general.Donde a y b son las matrices de coeficientes y Q es un matriz cuadrada simétrica definida positiva o semidefinida positiva. ideológicas económicas y lógicas puede dar lugar a la aparición de las características de no linealidad e un modelo. En un modelo lineal. suele suponerse que el precio es una constante dada. [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. Pongamos un ejemplo sencillo. digamos p y las ventas es la cantidad por venderse es una variable x supuestamente independiente del precio. x2) ϵ R2 . (x1. el ingreso se expresa como px y y decimos que es proporcional al precio.a. estructurales. Esta dependencia se expresa como ventas = f(p). 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. 3.2x2 + x12 + 2x22 s. Un modelo solo es una representación abstracta de la realidad. Relaciones no proporcionales 2. en este caso un modelo para encontrar que maximice los ingresos seria un modelo no lineal. Relaciones no aditivas Las eficiencias o ineficiencias de la escala En suma cualquier numero de relaciones físicas.

Se desarrollan. por lo que es necesario estudiarlos con el fin de comprender los algoritmos. Por lo contrario la elección del algoritmo inadecuado desde un principio puede ocurrir una gran diferencia de cambio de tiempo de ejecución.[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. Así estructura de datos y algoritmos están íntimamente relacionados. analizar su complejidad y descomponerlo en subprogramas más pequeños que puedan llevarse a cabo más fácil mente. describen y comparan un gran número de métodos. 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. como colas de prioridad. 2. que se ha diseñado previamente. posiblemente que llegue a tardar un poco más. Los programas están frecuente mente sobre optimizados. En otros casos bastara una implementación relativamente simple. En cualquier caso el método no en el programa. Las estructuras de datos son el producto secundario o finales de los algoritmos. o estructura de datos. se puede tener una cierta confianza en que funcionara. el que debe estudiarse para comprender como está siendo abordado el problema que es adecuado para su implementación como programa de computadora. selección y fusión. Un algoritmo simple puede crear un estructura de datos complicada y un algoritmo complicado puede utilizar estructura de datos simples. Se tratan algoritmos para diversos enunciados de problemas. Cuando se desarrolla un programa muy grande unas partes del esfuerzo se centra a comprender y definir el problema a resolver. También es muy importante los métodos de búsqueda de datos en los archivos. Normalmente este método es independiente del ordenador utilizado. Los algoritmos son la esencia de la informática. Muchos algoritmos interesantes llevan implícitos métodos de organización de los datos utilizados en el cálculo. . 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. 1.

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

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

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

En este punto. de modo que podemos personalizar antes de mostrarlos. Utiliza un método Simplex adaptado. y terminar sin intervención humana. el programa entra en una especie de modo stand-by. y problemas no lineales con restricciones utilizando el método SUMT (función objetivo con penalizaciones sobre el incumplimiento de las restricciones). Nonlinear programming (NLP): permite resolver problemas no lineales irrestringidos utilizando métodos de búsqueda lineal. Entre ellos destacaremos los siguientes: 1. 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. y problema del agente viajero. el algoritmo son los pasos a seguir para resolver dicho sistema. es decir. donde se espera a que las acciones del usuario. [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. también permite resolver los problemas de programación lineal entera utilizando el procedimiento de Ramificación y Acotación (Branch&Bound). el . las aplicaciones de interfaz gráfica de usuario difieren drásticamente de los programas de lotes convencionales. Los modelos de IQP los resuelve utilizando algoritmos de ramificación y acotación. El sistema está formado por distintos módulos. Linear goal programming (GP) and integer linear goal programming (IGP): resuelve modelos de programación multiobjetivo con restricciones lineales. Quadratic programming (QP) and integer quadratic programming (IQP): resuelve el problema de programación cuadrática.La línea 8 tiene la etiqueta visible. En este sentido. 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. 3. hay barias formas de resolver estos problemas como algunos programas como el explicado anteriormente. problemas con función objetivo cuadrática y restricciones lineales. 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. problema del camino más corto. resultados. por lo general mediante la ejecución de una o más funciones. Línea 9 pasa el control de la aplicación a Qt. árbol generador. como clics del mouse y pulsaciones de teclas. 6. Widgets se crean siempre oculta. 5. el de asignación. Acciones de los usuarios generar eventos (también llamados "mensajes") en que el programa puede responder. flujo máximo. uno para cada tipo de modelo o problema. Network modeling (NET): incluye programas específicos para resolver el problema del transbordo. el problema del transporte. 2. que por lo general de entrada del proceso. a fin de evitar el parpadeo. REFERENCIAS Hola en Windows XP.