Programacion No Lineal

15
 Programacion no lineal Alvarado Ruiz Rafael 10210096. Instituto Tecnológico de Tijuana. Grupo 4E. Tijuana, Baja California México. [email protected]  Resumen  —habl ar emos sobre una cnica de opti mi zaci ón matemática mejor conocida como progr amación no lineal, o también como sistemas no lineales. El cómo plantear y resolver una programac ión no line al, así como también los conce ptos básicos y algunos tipos de programaciones computacionales en los que imp lement as estos métodos como C, pro grama par a resolver este tipo de problemas.  Palabras Claves  al goritmos, func n, le nguaje s de pro gramac ión , mat emáticas, métodos, optimización , programación, programación no lineal, sistemas, variables. I  NTRODUCIÓN lgoritmo: Procedimient o 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] A 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 qu e ex iste un va lo r id ea l o un os va lores li mi te s y cuantifi cable s. Vari as unida des de produ cto 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 disminui r los tiempos de ej ec uc n de pr og ra ma s cr ít icos po r su tama ño o complejidad, se está haciendo un gran esfuerzo en desarrollar  pr ogramas par alelos, esto es, pro gramas que se pue den 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 pro ble ma de opt imización se pue de defini r de for ma 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 optimización cualquier conjunto aceptable de valores de las variables para el cual la función objetivo alcanza un valor ópt imo . For mal men te el pro ces o de opt imizació n imp lic a ma ximizar o min imi zar la funció n objetivo den tro 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 ot ra part e, aunque los modelos no li ne al es pu eden ser  conceptualmente más satisfactorios y elegantes, son de poca util idad si no se puede aprend er algo de su compo rtamiento. Sin duda, muchos profesionales de la industria afirman que  p uede n hace r mu y bi en con el ti empo lineal di fe re nt es mo de los. Por supuesto , un ar gume nt o en co nt ra 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 obs erv ados. Aqu í est án alg unos eje mpl os de estos fenómenos:

Transcript of Programacion No Lineal

Page 1: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 1/14

 

Programacion no lineal

Alvarado Ruiz Rafael 10210096.Instituto Tecnológico de Tijuana.

Grupo 4E.Tijuana, Baja California Mé[email protected]

 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.

I NTRODUCIÓN

lgoritmo: Procedimiento matemático preciso y finito pararesolver 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]

AProgramación matemática: es una manera en la que aplicas lasmatemáticas para tratar de resolver problemas de decisióndeterminado 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 problemases 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 dla media para conseguir un valor mas deseable de la misma o

 bien reducir la variación de alrededor de esta media, para quelas diferentes unidades se correspondan con la misma. [3]Un programa –en sentido informático– está constituido por unconjunto de instrucciones que se ejecutan –ordinariamente– demodo secuencial, es decir, cada una a continuación de laanterior. Recientemente, con objeto de disminuir los tiemposde ejecución de programas críticos por su tamaño ocomplejidad, 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 omás conjuntos entre sí. [4]

DEFINICIÓN DE UN PROBLEMA DE OPTIMIZACIÓN 

Un problema de optimización se puede definir de formageneral partiendo de un conjunto de variables independientes,una serie de restricciones que definen valores aceptables de lasvariables y una función de estas variables que se denominafunción objetivo. Se entiende por solución de un problema de

optimización cualquier conjunto aceptable de valores de lvariables para el cual la función objetivo alcanza un valóptimo. Formalmente el proceso de optimización implimaximizar o minimizar la función objetivo dentro de uconjunto de valores factibles de las variables.

Clasificación de los problemas de optimizaciónSe suele basar en un compromiso entre las mejoras en eficiencia obtenidas al considerar ciertas propiedades de lo

  problemas frente a la complejidad de tener que elegir umétodo de resolución dentro de una gran librería de métodoLa forma más obvia de caracterizar los problemas se basa elas propiedades matemáticas de la función objetivo y de lfunciones de restricción. [5]

LOS MODELOS  NO LINEALES

¿Por qué necesitamos tener una teoría no lineal y por qué molestan en estudiar una teoría no lineal cualitativa? Despude todo, la mayoría de los modelos que están actualmendisponibles son lineales, y si el modelo no lineal se va utilizar, las computadoras están llegando a ser cada vez m

 poderosos en la simulación ellos. ¿Realmente necesitamos unteoría no lineal? Esto no es una pregunta ingenua, ya que lomodelos lineales son mucho más manejables que los no-liney podemos analizar bastante sofisticados y sistemas lineales dalta dimensión. Además, si uno utiliza los modelos linealcon algunos parámetros posiblemente variable en el tiempo,

 pueden modelar sistemas reales sorprendentemente bien. Potra parte, aunque los modelos no lineales pueden sconceptualmente más satisfactorios y elegantes, son de pocutilidad si no se puede aprender algo de su comportamientSin duda, muchos profesionales de la industria afirman qu

  pueden hacer muy bien con el tiempo lineal diferentmodelos. Por supuesto, un argumento en contra es qu

 podemos usar el poder cada vez mayor de la computadora pa

entender cualitativamente el comportamiento de sistemas mácompleta y no tiene que aproximar su comportamiento en losistemas lineales.Sin embargo, la razón de peso que hacen uso de modelos nlineales es que la dinámica de sistemas lineales no son suficientemente ricos como para describir muchos fenómenocomúnmente observados. Aquí están algunos ejemplos destos fenómenos:

Page 2: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 2/14

 

1. Equilibrios múltiples o varios puntos defuncionamiento

Los sistemas con muchos equilibrios abundan en la práctica,consideramos, por ejemplo

• Los circuitos digitales para la lógica de Binay tener  por lo menos dos estados estables,

• cinética de las reacciones químicas permitenmúltiples equilibrios

• Las ecuaciones de flujo de potencia modelar el flujode potencia activa y reactiva en una red detransmisión tiene varios puntos fijos defuncionamiento del Estado,

• Un rayo cinturón abrochado tiene dos estadosestables,

• En la ecología de poblaciones, hay múltiples  poblaciones de equilibrio de las especies quecompiten.

  No, consideremos el modelo de ecuaciones diferencialeslineales

= Ax (1.1)ẋ

 con x ϵ R n y A ϵ R n x n, una matriz constante. El punto x = esun punto de equilibrio del sistema. Es decir, si el estado inicialen el tiempo t = 0 de la ecuación diferencial (1.1) es 0, esdecir, x (0) = 0, entonces el estado de la ecuación sigue siendo0 para todo t, es decir, x (t) ≡ 0. Si A es una matriz no singular,entonces x = 0 es el único punto de equilibrio del sistemalineal. Si una singular, el conjunto de equilibrios del sistema esel espacio nulo de la matriz A. Se trata de un conjunto infinito

de inexplicable punto de equilibrio, ya que si A fuera singular,una perturbación infinitesimal de las entradas de A "es casiseguro que" la causa que se convierta en singular. Enconsecuencia, los sistemas lineales de la forma de (1.1) no

 puede robusta (en este caso con firmeza se utiliza en el sentidode ser cualitativamente insensible a los errores de modelado)

 permiten más que una solución de equilibrio.

2. Variación periódica de las variables de estado o deciclos límite.

Una vez más, los casos de sistemas con variaciones periódicasde naturaleza robusta abundan en la práctica:

• Las ecuaciones diferenciales para el modelado de lageneración de impulsos nerviosos latidos del corazóny son de los denominados tipo van den Pol, queestudiaremos más adelante. Que la naturaleza cíclicade estos fenómenos se obtiene de un único ciclolímite estable. Otros ejemplos relacionados con elmodelo periódicas contracciones musculares en elesófago y los intestinos.

• Los circuitos de reloj digital o multivibradores estab presentan una variación cíclica entre la lógica 1 y los estados y también puede ser modelado como udegenerado límite de la ecuación de Van de Pol smencionó anteriormente.

• Circuitos de unión Josephson se puede demostrar qutienen un ciclo límite (de muy alta frecuencia) cuand

la corriente de polarización es mayor que un ciervalor crítico, y esta oscilación marca la transición dlos superconductores para la realización de la región

A modo de contraste, considere de nuevo el sistema lineal d(1,1). Si A ϵ R n x n tiene valores propios en el eje imaginar(en adelante, el eje jω), entonces el sistema lineal admite de ucontinuo de soluciones periódicas. Sin embargo, las pequeña

  perturbaciones de los elementos de A hará que los valor propios de ser desplazados fuera del eje  jω y destruir existencia de soluciones periódicas. Por lo tanto, una pequeñvariación de parámetros en los modelos de sistema lineal

destruye la continuidad de soluciones periódicas, y en lugar d producir ya sea un punto de equilibrio estable o inestable. Polo tanto, sistemas dinámicos lineales con soluciones periódicno son modelos robustos.

Como en el caso de múltiples puntos de equilibrio, existesistemas con soluciones múltiples y periódicas. Estos puedeser en número finito, en contraste con un número infinito dsistemas lineales con valores propios del eje  jω y econsecuencia no puede ser descrito por un modelo decuaciones diferenciales lineales.

3. Bifurcaciones

1. Hay muchos ejemplos de sistemas cuycaracterísticas cualitativas, tales como el número d

 puntos de equilibrio, el número de ciclos límite, y estabilidad de estas características, los cambios con variación paramétrica en el modelo. Por ejemplo:

a) Una barra bajo carga axial tiene un estaddesabrochado como su estado de equilibrio hasta qula carga alcanza un valor crítico, momento en el quadquiere dos estados estables abrochado desabrochado un estado inestable.

 b) El compresor de un cambio de motores a reacción dla operación en estado estacionario a un modo doperación que está girando puesto cuando el ángude ataque de las palas alcanza un valor crítico.

c) Los cambios de la unión de Josephson estadsuperconductor, o estado de resistencia cero (cuandexiste un equilibrio estable único), el estado dconducción (cuando existe una órbita periódica y u

Page 3: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 3/14

 

  punto de equilibrio o simplemente una órbita  periódica) como la cantidad de actual pasa por obligar a un valor crítico.

d) El comportamiento de histéresis en los valoresactuales de ciertas resistencias de un puerto, talescomo los diodos túnel, se produce cuando la tensión através de ellas se sube o baja.

e) A medida que el ángulo de ataque de un avióncambia, una tasa constante huida rollo constante.

Sistemas lineales con parámetros tienen un comportamientoque es mucho menos sutil. Como los parámetros del cambiode sistema, el sistema puede cambiar de estable a inestable. Elnúmero de equilibrios puede ir hasta el infinito si alguno delos valores propios de pasar por el origen, sin embargo,ninguno de los cambios descritos anteriormente pueden ser capturados por un modelo lineal parametrizado.

4. La sincronización y la frecuencia de arrastre

Osciladores acoplados débilmente cuando se tire alsincronismo de fase y frecuencia, por ejemplo, en:

a) las células del músculo cardíaco, las célulasmusculares que causan los movimientos peristálticosdel intestino y el esófago.

 b) Fase Locked Loops para el seguimiento.

Además, como cambiar los parámetros de la pérdida desincronismo o de arrastre de frecuencia se caracteriza por la

aparición de un comportamiento complicado, por ejemplo, lasarritmias (en el músculo del corazón) o saltar lazo (para la fasede bucle cerrado). No hay un modelo lineal de este fenómeno.

5. Comportamiento dinámico complejo

Vamos a contemplar el comportamiento dinámico del sistemalineal de (1,1). Es muy simple: las respuestas son sumas deexponenciales, con exponentes dados.

Por los valores propios de la matriz A que sea la decadencia acero o volar cuando t → ∞, cuando los valores propios de Ano están en el eje  jω, las soluciones de la ecuación (1.1) ni ladecadencia ni explotar para cualquier condición inicial. Comohemos comentado anteriormente, este modelo no es robusto,ya que pequeñas perturbaciones va a eliminar los valores

 propios fuera del eje jω

En contraste, el la dinámica de muchos sistemas físicos puedeser una función compleja y delicada de las condicionesiniciales, por ejemplo, la dinámica de los modelos de

  población, los modelos climáticos y modelos de flujo de

fluidos turbulentos. Estos sistemas evolucionan de manerque son un poco más sutil que las divergencias o contratación de exponenciales. Pequeños cambios en lcondiciones iniciales pueden hacer las trayectorias mudiferentes en el tiempo. Estos se conocen como la dinámiccaótica o compleja. En la literatura de divulgación científicse trata de avanzada como razones para el "efecto mariposafamosos: el batir de las alas de una bandada de mariposas en

 parque central puede causar variaciones en el clima global dtal magnitud como para permitir que los tifones en ChinDinámica caótica o complejas son ejemplos de dinámicas quno pueden ser generados por los modelos lineales.

LA COMPLEJIDAD DE LA DINÁMICA  NO LINEAL

Antes de comenzar un estudio sistemático de los sistemas nlineales y su comportamiento asombrosamente rica, tenemoen cuenta la dinámica de una ecuación en diferencias musimple de primer orden, lo que revela algo de sutilezincreíble. Nosotros, por el momento, considerar un sistem

discreto: xt  + 1 = f (x)  (1.2)

Esta ecuación representa la evolución de una población dmoscas azules numeración xt  ϵ R en el tiempo t en una caja dtamaño fijo con una fuente de alimentación fija. Es cierto quen realidad, la  x de la población es discreto, pero el modecon  x continua es sorprendente lo suficientemente robuscomo para superar este inconveniente. Suponemos que

  población se mide en tiempos discretos y  x es suficientemente grande como para que podamos asumir que una variable continúa. Este modelo fue el origen de una graemoción cuando se estudió por May y Oster y validados po

experimentos con una población de mosca en Berkeley. Eeste ejemplo, también servirá como un vehículo paintroducir una técnica interesante gráfico para comprender dinámica de sistemas no lineales discretos. La formcualitativa de la función f se muestra en la Figura 1.1. paconcretar el lector tal vez desee considerar la función

f(x) = hx (1 - x), x [0,1].ϵ (1.3)

Esta función tiene un único máximo en   x = ½ de magnituh / 4. De ello se desprende que para h ≤ 4, se asigna intervalo [0,1] sí mismo en. Con  f  de la ecuación (1.3), modelo 1.2 se conoce como el mapa logístico.

Page 4: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 4/14

 

 Figura 1.1. La función de una sola joroba

Los modelos de la función f el hecho de que xt + 1  x˂ t  cuando la población es pequeña, por lo que el aumento de la población(abundancia de alimentos y espacio vital). Además xt + 1  x˂ t 

cuando la población es grande (competencia por el alimento yel aumento de la probabilidad de la enfermedad). Por lo tanto f (x) > x para  x pequeñas y  f (x) < x para x grande. La figura

1.2 muestra cómo se resuelve la ecuación (1.3) gráficamente:una estrella, con el estado inicial x0 en el eje horizontal y se leede  x1 = f (x0 ) en el eje vertical. La línea horizontal que secorta la línea de 45° se corresponde con el proceso iterativo desustitución de x0 en el eje horizontal por x1. La iteracióncontinúa ahora de manera progresiva la lectura de x t + 1 en eleje vertical y el uso de la intersección de la línea horizontal através de xt + 1 con la línea de 45 ° reflejan xt + 1 sobre el ejehorizontal. La consiguiente aparición de la evolución de lavariable de estado de la población es el de una telaraña. Estetérmino es, en realidad, la terminología utilizada por loseconomistas para una sencilla modelos tridimensionales de las

 políticas macroeconómicas de crecimiento del PIB y algunos

fenómenos microeconómicos.

Vamos a estudiar el efecto de elevar la altura de la joroba, sinaumentar su apoyo (es decir, el rango de valores (x) para losque f (x) ≠ 0) en la dinámica de la población de moscas volar (modelar el efecto de un aumento en el suministro dealimentos). Para concretar, lo que corresponde al aumento dela h de parámetros en la función de (1,3).

• El caso 0 ≤ h 1˂ .A unos minutos de reflexión (verifique esto por timismo) va a dejar en claro que para 0 ≤ h nunca 1˂ lagráfica de f cruza la línea de 45 grados  xt  + 1 = x, esdecir, la curva  y = f (x) se encuentra por debajo la

recta   y = x. en este caso  xt  tiende a ceromonótonamente en el paso t . esto corresponde a unasituación en la que la población se extingueasintóticamente por falta de alimentación adecuada.

• El caso 1 ≤ h ≤ 3.

Ahora aumenta la altura de la joroba, es decir, h ≥ 1.En cuenta la situación de la figura 1.3, que muestra lagráfica de f cruzar la línea de 45 grados. Tenga encuenta que si la población tuviera que empezar en el

 punto de intersección que se quedaría allí, ya que eel punto de intersección, xt + 1  = f (x) = x . En otr

 palabras, el punto de intersección denota por  x0* es u

equilibrio. También (verifique esto gráficamente psí mismo) todas las condiciones iniciales cero, nimporta lo pequeños que son, convergen en  x0

* para≤ h ≤ 3. Por lo tanto x0

*es una población en equilibrestable. El cero de la población.

 Figura 1.2. Solución gráfica de un sistema unidimensional 

El equilibrio es inestable. El valor del parámetro en que el cero de la población que viene-inestable eh0 = 1. Hay que tener en cuenta que la población estable valor  x0

*  función de h, dada por:

 x0*= 1 - 1/h.

Por lo tanto, h = 2, el punto de equilibrio se muevdesde el lado izquierdo de la joroba en el lad

derecho.

1. El caso 3 < h ≤ 1 + = 3.449

El aumento de la altura de la joroba aún más, un pocde experimentación gráfica se muestra, como en figura 1.4. Además, Figura 1.4 muestra la telaraña eh1 = 3.25, lo que demuestra el inicio del ciclo d

  periodo límite de 2. El h1 valor se llama un  bifurcación duplicación del periodo punto. U período de 2 ciclo límite es equivalente a una plazcerrada en la tela de araña en la figura 1.4

 participación de la población alterna entre dos valorede x *

1 y x 2*. Otra forma de entender estos resultado

es mediante el examen de la dinámica de la evolucióen dos etapas, a saber,

x t + 1 = f (f (xt  ) ) =: f 2 (xt  ). (1.4)

Page 5: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 5/14

 

 Figure1.3. un equilibrio estable único

La forma de la función f 2(x) = f(x) o f(x), es decir f compuesta con  f , (noconfundir con el cuadrado de  f ) es una curva de dos

  jorobas, donde f es empinada suficiente, como se

muestra en la Figura 1.5. De hecho,  f 2

adquiere sucarácter de doble joroba, precisamente cuando elvalor del parámetro h = 3.Tenga en cuenta que la línea de 45 grados cruza lacurva de dos jorobas de la Figura 1.5 en tres puntos

 para h> 3 en la intersección media corresponde al período del 1 solución, que ahora es inestable en elsentido de que todas las poblaciones no esexactamente igual a  x*

0 tienden lejos de él (como se puede verificar gráficamente) y hacia el período dedos soluciones (véase también el problema 1.4).También, tenga en cuenta que tanto los puntos  x*

1,

 x*2 son los equilibrios del sistema de la ecuación (1.4).

Así, la interpretación de la dinámica del sistema de(1,4) es uno de estrobo o el muestreo de la dinámicadel sistema de (1,3) y más visual, el retrato de lafigura 1.4 cada dos pasos de tiempo.

2. El caso 3.449 < h ≤ 30570.

La extrapolación de estas observaciones, se puedeconjeturar que la altura de la joroba original esmayor, el período de dos ciclo límite se vuelveinestable y es sustituido por un ciclo límite período deestabilidad 4 que afecta a cuatro puntos. Asociadoscon esta respuesta es el sistema que corresponde a  f 4,que b 4 joroba para este caso. Además, la línea 45que se cruzan la curva de siete puntos quecorresponden respectivamente a un período deinestabilidad 1 punto en dos períodos inestables de 2

 puntos, y un período de 4 puntos (la formación de un período de 4 de ciclo límite). Esta intuición está en locorrecto, y un período de 4 tiempos límite aparece enh2 = 3.449, pero su verificación formal de lasnecesidades de cálculo sistemático y un esfuerzoconsiderable. Por lo tanto, h2 = 3.449 es el segundo

 período duplicar punto de bifurcación.

 Figura 1.4. Un período de 2 ciclo límite

 Figura 1.5 la gráfica de f 2

Si este programa se lleva adelante aún más, puntodel periodo 2k  estrella que aparece cada vez con máfrecuencia en h, por ejemplo, ocho periodo de 8 =

 puntos aparecen en h3=3.544 dieciséis período 16 24 puntos aparecen en h4 = 3,564 y así sucesivamentDe hecho, Feigenbaum ha demostrado que,

 

de manera que la secuencia de bifurcacionduplicación del periodo geométrico se acerrápidamente a los puntos periódicos de todos lo

 períodos de 2n ,n = 1,2,3,….., y la desestabilización dlos ciclos correspondientes límite de periodos 2n – 1

conoce como la secuencia de bifurcacionduplicación de periodo. En realidad, la característicnotable del teorema de Feigenbaum es que la relacióde la bifurcación

Page 6: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 6/14

 

 Figura 1.6 Un período de 3 ciclos límite

Valores es exactamente 4,6692..., no sólo para elmapa específico de logística que hemos considerado,sino también para otros un mapa de parámetros queestán "cerca" de ella.

3. El caso de 3.570 <h <3,839.

En este rango del parámetro h, la dinámica del mapalogístico son muy complicadas. Para algunascondiciones iniciales las interacciones son

 periódicas y la trayectoria parece vagar. De hecho elmapa logístico a sido usado como un generador denú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 algunosotros puntos periódicos.

4.  El caso 3.839 ≤ h ≤ 4

En h = 3.839, Hay por primera vez un punto periódico de periodo 3, ie., un punto arreglado de  f 3

= f f f ( ᵒ ᵒ ver problema 1.5). El diagrama de tele dearaña mostrando el punto periódico 3 mostrado en lafigura 1.6. De hecho en el valor de h, hay puntos

 periódicos de arbitrario al igual como algunos puntos periódicos. El descubrimiento de estos valores fue eltitulo de un punto de referencia documento por Li yYorke, “periodo tres implica caos”. La órbita del

  periodo 3 es la única orbita que es estable para pequeñas perturbaciones y es la única que es fácil deobtener de experimentos numéricos. Como el valor deh es incrementado hay un periodo duplicando la

  bifurcación de el periodo orbita 3 a un estable periodo orbita 6. Esto, en turno, cambia por periododuplicando a un estable periodo orbita 12 y asísucesiva mente y asombrosamente una vez más elnumero Feigenbuam: 4.6692…. Como resulta elresultado de Li y Yorke era un caso especial de unresultado anterior de Sharkovskii que discutiremos en

 breve.

 Figura 1.7. Puntos de equilibrio Estable e Inestable como una

 función de la altura de la joroba

Un complot de la secuencia de bifurcación del mapa logísticmostrando el periodo doblando la bifurcación dada en la figu1.7. En términos de población ecológica, no es sorpresa qu

 población salvaje parecen estar bien dentro de la región ncaótica; variación de la población caótica no parececonducentes a la supervivencia. Sin embargo si es posib

 producir condiciones para fluctuaciones en población caóticomo ha sido hecho por May y Oster en un laboratorio usandmoscardones.

Es de obvio interés el comprender cuales característiccualitativas de este increíblemente delicado y complecomportamiento son percibidos en mapas de una joroba mgeneral que el mapa logístico. Sorprendentemente, la mayode la características cualitativas son reservadas, y la secuencde bifurcación describida arriba es referida como periodo ddoble ruta al caos. En una interesante generalización danálisis de mapa logístico por Sharkovskii, que en realida

 precede el trabajo de Li y Yorke, Sharkovskii ordeno lnúmeros pares como:

Eso son los enteros impares excepto 1, seguido por 22 por entero impar excepto 1, seguido por 23 por el entero imparasí sucesiva mente la cola echa de la ordenación esta echa d

 poder disminuciones del 2. El después mostro que para usistema arbitrario en la forma de (1.2), si el tiempo del sistemdiscreto es tiene un punto de cierto periodo, tiene puntos dtodos los periodos menores que ese en el orden dSharkovskii. Por lo tanto en particular si el sistema tiene u

 punto de 3, tiene puntos de periodo arbitrario. En el contexde nuestro ejemplo del (1.3), esto ocurre en h = 3.839. Por tanto en estos valores de h o mayores, la población x, puedvariar en una manera muy complicada con gran sensibilida

 para las condiciones inicialesSUTILEZAS DEL ANALISIS DE SISTEMAS  NO LINEALES

Sistemas no lineales son capases de muchos y complejocomportamientos. Análisis de sistemas no lineales diferencia del sistema linear en dos maneras:

COMPLEJIDAD EN DINÁMICAS NO LINÉALES

Page 7: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 7/14

 

1. Generalmente hablando, uno puede obtener unasolución en forma cerrada para sistema lineal. Parasistemas no lineales esto es raro. A consecuencias ahíuna necesidad para tanto conocimiento cualitativo yrepetidas simulaciones para verificación cualitativa.Entendimiento cualitativo es importante desdeentonces, aunque tuviéramos las computadoras más

 poderosas a nuestra disposición, simulación excesiva

seria probable mente muy costosa. (El lector puedeelegir divertirse un poco con la consideración cuantotiempo se necesitaría para simular una ecuación conmás o menos 10 estados y una red de discretizacion y

 para condiciones iniciales como 10 por unidad a lolargo de cada existencia para las condicionesiniciales)

2. El análisis involucra herramientas matemáticas queson más avanzadas en concepto e involucradas endetalle.

Considera por ejemplo, sistemas no lineales cuya dinámica puede ser describida en vectores de primera orden en la formade ecuaciones

= f(x,u,t), x(0) = xẋ 0 (1.5)

Aquí es el estado vector, x ϵ R n es x0 el estado del sistema enel tiempo 0 y x ϵ R m es el control o función de fuerza. SIecuación (1.5) fuera a fin en x y u por cada t, uno esperaría quecorrespondería a cada entrada u (.):. (1.5) tiene al menos una solución perteneciente a algunasclases de funciones (existencia de una solución).. (1.5) tiene exactamente una solución en la misma clase comoarriba (unicidad de la solución).. (1.5) tiene exactamente una solución para todo tiempo, i.e, en[0, ∞] (existencia de la solución asta t = ∞).

Toma en cuenta que los requerimientos después en esta listaexitosa mente subsume la anterior: Se ponen masdemandantes en su generalidad de (1.5), ninguno de lasdeclaraciones anteriores de arriba son verdaderos parasistemas no lineales. Ahora daremos ejemplos de sistemas queviolan los tres requerimientos anteriores.Falta de existencia de soluciones.

= -sing (x), x(0) = 0. (1.6)ẋ

Aquí el signo (x) es definido para ser 1 si x y el signo (x) =

-1 si x < 0. Por consiguiente, no puede haber función continuadiferenciable satisfaciendo (1.6). Sin embargo, el sistema esun modelo aceptable de la dinámica de un termostato de latemperatura del punto, modelado por   x = 0 (uno puedeimaginarse el horno encendido al máximo cuando latemperatura cae por debajo el punto puesto y el aireacondicionado encendido a toda potencia cuando el termostatose eleva por sobre el punto indicado) En realidad, pudistehaber notado que algunos termostatos tienden a quebrarsesobre su punto arreglado. Alguna vez as pensado en como

 podrías aplacar el que se quiebre?1. Falta de soluciones únicas.

Considera la ecuación diferencial

= 3xẋ 2/3 , x(0) = 0. (1.7)[6]

ALGORITMOS DE PROGRAMACIÓN  NO LINEAL

Los métodos de solución de la programación no lineal  pueden clasificar, de manera general en algoritmos directos

indirectos. Como ejemplo de los métodos directos están loalgoritmos de gradiente, donde se busca el máximo, o mínimo de un problema siguiendo la mayor tasa de aumentodisminución de la función objetivo. En los métodos indirectoel problema original se sustituye por otro del cual se determinel óptimo. Como ejemplos de estos casos están

  programación cuadrática, la programación separable y   programación estocástica.

Algoritmos sin restricciónEn esta sección se presentan dos algoritmos para el problemno restringido: el algoritmo de búsqueda directa y el algoritmde gradiente.

Método de búsqueda directaLos métodos de búsqueda se aplican principalmente funciones estrictamente unimodales de una variable. Aunqu

 parecer trivial en el caso, la idea es identificar el intervalo dincertidumbre que comprenda al punto de solución óptima. E

 procedimiento localiza el optimización estrechando en form progresiva el intervalo de incertidumbre hasta cualquier gradde exactitud que se desee.[7]

I NTRODUCCIÓN A LA PROGRAMACIÓN  NO LINEAL

La programación no lineal tiene como objetivo la optimizació

de funciones no lineales o lineales sujeto a restricciones nlineales.Las típicas áreas de aplicación son procesos químicovaloración de precios, proyectos, problemas de diseñestructural, ajuste de curvas asignación de recursos, diseño d

 proceso, etc.En el campo de la programación matemática se ba

 principalmente en el área de la programación lineal.Es demasiada la aportación que existe sobre esa área que e

  posible resolver la mayoría de los problemas linea  planteados. Por lo contrario con los métodos que hay paresolver problemas de programación no lineal es muy bajo rango de aplicación de los algoritmos no lineales existentes emuy limitado.Clasificación de los métodos de optimizaciónLos métodos de optimización se pueden clasificar como:

Métodos analíticos.Métodos numéricosMétodos gráficosMétodos experimentales

Page 8: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 8/14

 

Analíticos: emplean las técnicas de cálculo diferencial. Estosmétodos buscan los extremos de una función mediante valoresde x que hacen que la derivada de f(x) con respecto de x sea 0.Si la tiene además restricciones se deben de utilizar técnicastales como los multiplicadores de langrage. Pero estosmétodos no suelen ser apropiados para todos los problemas nolineales.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 aoptimizar, para obtener la función con el extremo de lagrafica, con este método podrás darte cuenta si existe o no unafunción.Experimental: podemos obtener el extremo de la función por medio de experimentación de las variables reales. Con losresultado obtenidos se decidirá donde realizar el siguienteexperimento y así lograr mejores variables.Dificultades de la optimizaciónExiste una seria de dificultades en la optimización de modelosde procesos reales que se pueden clasificar dentro de dos

categorías:Una se refiere a la formación del modelo matemático del procesoY la otra a las técnicas de resolución numérica.

Se deberá plantear adecuadamente las características del proceso real

El modelo matemático contiene las funciones a utilizar en laoptimización, se debe de representar adecuadamente lascaracterísticas del proceso real en el método formulado, auncuando se plantee bien el modelo, se pueden encontrar unaserie de dificultades como por ejemplo:

• Alguna de las restricciones e incluso el criterio aoptimizar se puede hacer infinito su rango de

  búsqueda de extremo. También podría ser que lasderivadas parciales de las funciones llegaran a tender a ser infinitas. Son propensas a estos riesgos losmodelos que tienen polinomios en el denominador.La forma de acabar con esta dificultad es limitar convenientemente el rango de las variablesindependientes, añadiendo restricciones oreplanteando nuestro modelo matemático.

• El criterio a optimizar puede ser sensible a cambiosen las variables independientes, pudiendo así llegar a

obter un falso extremo.• El poder llegar a existir un escalamiento entre lasvariable. Esto podría llegar a ocurrir cuando uno delos términos en la función a optimizar es de un ordende magnitud muy diferente que el otro. Entonces lafunción es insensible a cambios en los valores de lasvariables que pertenecen a los términos pequeños.

EL PROBLEMA DE  PROGRAMACIÓN  NO LINEAL

En ingeniería el analista se encuentra normalmenenfrentándose con el problema de optimizar determinadfusiones, llamadas funciones objetivos, que representa costorendimientos, ganancias, perdidas, etc.. sujetas a ciertrestricciones la mayoría de los estos problemas doptimización cuando los plantean de forma matemática

  pueden agrupar en una categoría de problemas  programación no lineal.

PROBLEMA DE PROGRAMACIÓN  NO LINEAL GENERAL

Tiene como finalidad optimizar el problema, encontrar uextremo de la función objetivo que está sujeta a restriccionede igualdad y/o desigualdad , pudiendo ser estas lineales o nlineales. En programación no lineal general podemos exclude toda consideración los siguientes casos especiales:

a) Cuando las variables están restringidas a valorenteros.

  b) Cuando las restricciones incluyen el parámettiempo formado ecuaciones diferenciales

El problema de programación no lineal general se puedformular como:

Min f(x)Sujeto a m lineales y/o no lineales restricciones de igualdad;

H j (x) = 0 j = 1,2,……m

Y(p-m) lineales y/o no lineales restricciones de desigualdad;

G j (x) ≥ 0 j = m + 1,2,……m

x= [x1,….,xn]T є E N

Una representación alternativa de las expresiones anterior podría ser:

Min { f (x) / x є R }

donde R es un dominio de x definido como:

R = { X/h j = 0 ≥ 0 V j }

Los problemas de programación cuadrática y lineal se puedeconsiderar dos casos especiales del problema de programació

no lineal general. Cuando la función objetivo, las igualdadesdesigualdades son todas lineales, obtenemos un problema d programación lineal. En caso de que la función objetivo scuadrática y las restricciones lineales se obtiene el problemde programación cuadrática que se puede formular comsigue: Min f(x) = a0 + cT x + xT Qx

Sujeto a: aT x ≥ b

Page 9: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 9/14

 

Donde a y b son las matrices de coeficientes y Q es un matrizcuadrada simétrica definida positiva o semidefinida positiva.[8]

Introducción de los modelos de optimización no lineales

Las funciones o relaciones matemáticas que intervienen enmuchos problemas empresariales y económicos no sontotalmente lineales. De hecho, tal vez podemos decir que los

 problemas del mundo real que encajan en el estricto molde dela linealidad son la excepción y no la regla. Pongamos unejemplo sencillo.En un modelo lineal, suele suponerse que el precio es unaconstante dada, digamos p y las ventas es la cantidad por venderse es una variable x supuestamente independiente del

 precio. Por consiguiente, el ingreso se expresa como px y ydecimos que es proporcional al precio. Sin embargo el precio

 puede son en realidad un variable y la cantidad vendida lademanda puede ser dependiente del precio. Esta dependencia

se expresa como ventas = f(p), donde f es una funciónespecífica (no constante) de p. así el ingreso estaríarepresentado por Ingreso=precio x ventas = p X f(p)que es no lineal en la variable p. en este caso un modelo paraencontrar que maximice los ingresos seria un modelo nolineal.En general, algunas razones importantes (y no necesaria mentedistintivas) de la no linealidad son:

1. Relaciones no proporcionales

2. Relaciones no aditivas

3. Las eficiencias o ineficiencias de la escala

En suma cualquier numero de relaciones físicas, estructurales,ideológicas económicas y lógicas puede dar lugar a laaparición de las características de no linealidad e un modelo.Un modelo solo es una representación abstracta de la realidad.Es importante saber que cuando se formula un modelo es saber cuándo una versión linealizada puede proporcionar unarepresentación adecuada del mundo no lineal.[8]

Ejemplo 1 Considere el problemaP) min -2x1x2 - 2x2 + x1

2 + 2x22

s.a. (x1, x2) ϵ R 2

Page 10: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 10/14

 

EJEMPLO DEL METODO DE  NEWTON 

[9]

La escritura de un software de computadora consiste eimplementar un método de solución de un problema, que se hdiseñado previamente. Normalmente este método independiente del ordenador utilizado. En cualquier caso método no en el programa, el que debe estudiarse pacomprender como está siendo abordado el problema que adecuado para su implementación como programa dcomputadora. Los algoritmos son la esencia de la informáticaMuchos algoritmos interesantes llevan implícitos métodos dorganización de los datos utilizados en el cálculo. Los objetocreados de esta manera se denominan planteamiento de datoo estructura de datos. Así estructura de datos y algoritmestán íntimamente relacionados. Las estructuras de datos soel producto secundario o finales de los algoritmos, por lo ques necesario estudiarlos con el fin de comprender lalgoritmos. Un algoritmo simple puede crear un estructura ddatos complicada y un algoritmo complicado puede utilizestructura de datos simples.

Cuando se desarrolla un programa muy grande unas partes desfuerzo se centra a comprender y definir el problema

resolver, analizar su complejidad y descomponerlo esubprogramas más pequeños que puedan llevarse a cabo mfácil mente.

Los programas están frecuente mente sobre optimizadoPodría llegar a ser no tan favorable esmerarse excesivamen

 para asegurarse de que una relación sea lo más eficientemen posible al menos que se trate de un algoritmo susceptible dutilizarse en una tarea muy amplia o que sea utilizado muchveces. En otros casos bastara una implementaciórelativamente simple, se puede tener una cierta confianza eque funcionara, posiblemente que llegue a tardar un poco máPor lo contrario la elección del algoritmo inadecuado des

un principio puede ocurrir una gran diferencia de cambio dtiempo de ejecución.

1. Los métodos de ordenación son de gran importanc para reorganizar archivos en un orden determinadSe desarrollan, describen y comparan un gran númede métodos. Se tratan algoritmos para diversenunciados de problemas, como colas de prioridaselección y fusión.

2. También es muy importante los métodos de búsquedde datos en los archivos.

Page 11: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 11/14

 

3. Los algoritmos de procesamiento de cadenas incluyenmétodos de manipulación de sucesiones decaracteres. Estos métodos conducen alreconocimiento de patrones en las cadenas que a suvez conduce a su análisis.

4. Los algoritmos geométricos son un conjunto demétodos de resolución de problemas a base de puntosy rectas.se estudian algoritmos para buscar el cerco

convexo de un conjunto de puntos para encontrar interacciones entre objetos, para resolver problemasde proximidad y para la búsqueda multidimensional.

5. Los algoritmos sobre grafos: son útiles para una granvariedad de problemas difíciles. Se desarrolla unaestrategia para la búsqueda de grafos y se aplican alos problemas fundamentales de conectividad, comodarnos cuenta de cuál es el camino más corto, el flujode red, concordancia y el árbol de expansiónmínimo.

6. Los algoritmos matemáticos: estos presentas métodosfundamentales que originan de análisis numéricos yde la aritmética. [10]

El lenguaje de programación C fue desarrollado por DennisRitchie en los laboratorios Bell del a empresa decomunicaciones ahora conocida como AT&T, en 1973, C fuecreado inicialmente con un propósito el cual era el diseño delsistema operativo UNIXA. Sin embargo sin embargorápidamente se revelo como un lenguaje muy potente yflexible lo provoco que su uso se extendiese rápidamente,incluso fuera de AT&T de esta manera programadores detodo el mundo empezaron a usar el lenguaje C para escribir 

 programas de todo tipo.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 arquitecturainterna de cualquier ordenador. Finalmente en 1989 seestableció el estándar ANSI C. actualmente cualquier compilador moderno soporta ANSI C.

Características generales del CVentajas:

1. Lenguaje de propósito general: no está diseñado paraningún tipo de software en particular, se puedeemplear para realizar casi cualquier tipo de

 programas.2. Juego de operadores muy rico: la gran variedad de

operadores que permiten realizar muy diversasacciones.

3. Concisión de los programas: el que se pueden realizar muchas acciones con pocas pasos.

4. Permite la solución recurrente (tomar atajos).5. Los compiladores de C son rápidos y compactos.6. Son muy fácil de trasladar de un sistema a otro,

(portabilidad), ya una vez copilado , puede ser ejecutado.

7. Utilizaciones simples de las primitivas del sistemaoperativo: es muy fácil de entrar desde un programa

elaborado en C facilitar el sistema operativo sobre que estemos trabajando.

8. Potencia de un ensamblador: es posible trabajar coel lenguaje C como si se tratara de un lenguajensamblador. Dispone de un gran número doperadores de bits, permite un fácil acceso a memoria, generando un código muy rápido.

Inconvenientes:1. Muy poca disposición de datos.2. Tipos de datos demasiado próximos a

maquina.3. Control de tipos poco severos: El compilador n

tiene un gran control de las operaciones que realizan con los datos.

4. No dispone de un gestor de memoria integrado.5. Carece de instrucciones de entrad y salida. L

que se utilizan son funciones de biblioteca.Es fácil escribir programas pocos legibles. El C nos permiescribir expresiones muy difíciles, que nos pueden resultar nmuy legibles.[11]

Fichero fuente y programa o código de fuente:Los programas C y C++ se escriben con la ayuda de un editode textos del mismo modo que cualquier texto corriente. Loficheros que contiene programas en C o C++ en forma de texse conocen como ficheros fuente, y el texto del programa qucontiene se conoce como programa fuente. Nosotros siempescribiremos programas fuente y los guardaremos en ficherofuente.Ficheros objeto, código objeto y compiladores:Los programas fuente no pueden ejecutarse. Son ficheros d

texto, pensados para que los comprendan los seres humano pero incomprensibles para los ordenadores.

Para conseguir un programa ejecutable hay que seguir algun pasos. El primero es compilar o traducir el programa fuentesu código objeto equivalente. Este es el trabajo que hacen locompiladores de C y C++. Consiste en obtener un ficheroequivalente a nuestro programa fuente comprensible para ordenador, éste fichero se conoce como fichero objeto, y contenido como código objeto.Los compiladores son programas que leen un fichero de texque contiene el programa fuente y generan un fichero qucontiene el código objeto.

El código objeto no tiene ningún significado para los serehumanos, al menos no directamente. Además es diferente pacada ordenador y para cada sistema operativo. Por lo tanexisten diferentes compiladores para diferentes sistemoperativos y para cada tipo de ordenador.

Librerías:Junto con los compiladores de C y C++, se incluyen ciertoficheros llamados librerías. Las librerías contienen el códigobjeto de muchos programas que permiten hacer coscomunes, como leer el teclado, escribir en la pantalla, manejnúmeros, realizar funciones matemáticas, etc. Las librerí

Page 12: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 12/14

 

están clasificadas por el tipo de trabajos que hacen, haylibrerías de entrada y salida, matemáticas, de manejo dememoria, de manejo de textos, etc. Hay un conjunto delibrerías muy especiales, que se incluyen con todos loscompiladores de C y de C++. Son las librerías ANSI oestándar. Pero también hay librerías no estándar, y dentro deestas las hay públicas y comerciales. En éste curso sólousaremos librerías ANSI.

Ficheros ejecutables y enlazadores:Cuando obtenemos el fichero objeto, aún no hemos terminadoel proceso. El fichero objeto, a pesar de ser comprensible

 para el ordenador, no puede ser ejecutado. Hay varias razones para eso:

1. Nuestros programas usaran, en general, funciones queestarán incluidas en librerías externas, ya sean ANSIo no. Es necesario combinar nuestro fichero objetocon esas librerías para obtener un ejecutable.

2. Muy a menudo, nuestros programas estaráncompuestos por varios ficheros fuente, y de cada uno

de ellos se obtendrá un fichero objeto. Es necesariounir todos los ficheros objeto, más las librerías en unúnico fichero ejecutable.

3. Hay que dar ciertas instrucciones al ordenador paraque cargue en memoria el programa y los datos, y

  para que organice la memoria de modo que sedisponga de una pila de tamaño adecuado, etc. La pilaes una zona de memoria que se usa para que el

 programa intercambie datos con otros programas ocon otras partes del propio programa. Veremos estocon más detalle durante el curso.

Errores:Por supuesto, somos humanos, y por lo tanto nos

equivocamos. Los errores de programación pueden clasificarseen varios tipos, dependiendo de la fase en que se presenten.

 Errores de sintaxis: son errores en el programa fuente. Puedendeberse a palabras reservadas mal escritas, expresioneserróneas o incompletas, variables que no existen, etc. Loserrores de sintaxis se detectan en la fase de compilación. Elcompilador, además de generar el código objeto, nos dará unalista de errores de sintaxis. De hecho nos dará sólo una cosa ola otra, ya que si hay errores no es posible generar un códigoobjeto.

Avisos: además de errores, el compilador puede dar tambiénavisos. Los avisos son errores, pero no lo suficientementegraves como para impedir la generación del código objeto. Noobstante, es importante corregir estos avisos, ya que elcompilador tiene que decidir entre varias opciones, y susdecisiones no tienen por qué coincidir con lo que nosotros

 pretendemos, se basan en las directivas que los creadores delcompilador decidieron durante su creación.

Errores de enlazado: el programa enlazador también puedeencontrar errores. Normalmente se refieren a funciones que no

están definidas en ninguno de los ficheros objetos ni en lalibrerías. Puede que hayamos olvidado incluir alguna librerío algún fichero objeto, o puede que hayamos olvidado definalguna función o variable, o lo hayamos hecho mal.

Errores de ejecución: incluso después de obtener un ficheejecutable, es posibleque se produzcan errores. En el caso de los errores d

ejecución normalmente no obtendremos mensajes de errosino que simplemente el programa terminará bruscamentEstos errores son más difíciles de detectar y corregir. Existe

  programas auxiliares para buscar estos errores, son lllamados depuradores. Estos programas permiten detener ejecución de nuestros programas, inspeccionar variables ejecutar nuestro programa paso a paso. Esto resulta útil padetectar excepciones, errores sutiles, y fallos que se presentadependiendo de circunstancias distintas.

Errores de diseño: finalmente los errores más difíciles dcorregir y prevenir. Si nos hemos equivocado al diseñnuestro algoritmo, no habrá ningún programa que nos pued

ayudar a corregir los nuestros. Contra estos errores sólo cab practicar y pensar.

Propósito de C y C++¿Qué clase de programas y aplicaciones se pueden creusando C y C++?La respuesta es muy sencilla: TODOS.

Tanto C como C++ son lenguajes de programación d  propósito general. Todo puede programarse con ellos, dessistemas operativos y compiladores hasta aplicaciones d

 bases de datos y procesadores de texto, pasando por juegoaplicaciones a medida, etc.

Oirás y leerás mucho sobre éste tema. Sobre todo diciendo questos lenguajes son complicados y que requieren páginas

 páginas de código para hacer cosas que con otros lenguajes hacen con pocas líneas. Esto es una verdad a medias. Es cierque un listado completo de un programa en C o C++ pargestión de bases de datos (por poner un ejemplo) puedrequerir varios miles de líneas de código, y que su equivalenen Visual Basic sólo requiere unos pocos cientos. Pero detrde cada línea de estos compiladores de alto nivel hay cientode líneas de código en C, la mayor parte de estos compiladorestán respaldados por enormes librerías escritas en C. Nada impide a ti, como programador, usar librerías, e incluso crelas tuyas propias.

Una de las propiedades de C y C++ es la reutilización dcódigo en forma de librerías de usuario. Después de un tiemptrabajando, todos los programadores desarrollan sus propilibrerías para aquellas cosas que hacen frecuentemente.[12]

U N EJEMPLOS DE PROGRAMCION C

Page 13: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 13/14

 

1. Un programa que calcula el cuadrado y el cubo de osnúmeros y los muestra en pantalla:

# include < stdio.h >Void main( ){/* declaramos las variables a utilizar */float x=0.0, y=0.0, x2=0.0, x3=0.0, y3=0.0;

/*lectura de las variables*/Prinf (“\nintroducir dos valores reales separados por coma: n);scan(n%f, %f”, &x,&y);

/* hallamos el cuadro de las dos variables leidas */x2 = x * x;y2 = y * y;/* hallamos el cuadro de las dos variables leidas */X3 = x2 * x;Y3 = y2 * y;/* mostramos por pantalla los datos y los resultados */Printf (“\n El cuadrado de [%f] es: %f. \tY el cubo es %f”, x,

x2, x3);Printf (“\n El cuadrado de [%f] es: %f. \tY el cubo es %f”, y,y2, y3);}

2. Un programa en C que lee un carácter desde teclado ymuestra en pantalla su código ASCII

 #include < stdio.h >

Main ( ){int a;

 printf (“dame un carácter:”);scanf (“%c”, &a); printf (“ El código ASCII del carácter %c es %d”,a,a);}[12]

U NA BREVE HISTORIA DE QT

El kit de herramientas Qt por primera vez disponible al público en mayo de 1995. Al principio fue desarrollado por Haavard Nord (CEO de Trolltech) y Eirik Chambe-Eng(Trolltech presidente). Haavard y Eirik se conocieron en elInstituto Noruego de Tecnología en Trondheim, Noruega,donde ambos se graduaron con maestría en ciencias de la

computación. Interés Haavard en C + + GUI desarrollocomenzó en 1988 cuando recibió el encargo por una empresasueca para diseñar e implementar un C + + GUI toolkit. Un

 par de años más tarde, en el verano de 1990, Haavard y Eirik se trabajando juntos en una aplicación C + + base de datos deimágenes de ultrasonido. La del sistema necesarios para poder ejecutar con una interfaz gráfica de usuario en Unix,Macintosh, and Windows. Un día de ese verano, y Eirik Haavard salió a disfrutar del sol, y mientras estaban sentadosen un banco del parque, Haavard dijo: "Necesitamos una

orientada a objetos pantalla del sistema. "La discusióresultante sentó las bases intelectuales para el kit dherramientas multiplataforma orientado a objetos GUI qu

 pronto van a construir.En 1991, comenzó a escribir Haavard las clases qufinalmente se convirtió en Qt, colaborando con Eirik en diseño. Al año siguiente, Eirik vino la idea de "señales slots", un paradigma de interfaz gráfica de usuario d

 programación simple pero poderoso. Haavard tomó la idea produjo una implementación de codificación manual. En 199Haavard y Eirik habían desarrollado el primer núcleo dgráficos de Qt y fueron capaces de poner en práctica su

 propios widgets. Al final del año, Haavard sugirió que quentrar en un negocio conjunto para construir "el mejor dmundo C + + GUI toolkit".

He aquí un programa Qt muy simple:001 #include <qapplication.h>002 #include <qlabel.h>003 int main (int argc, char *argv[])004 {

005 QApplication app (argc, argv);006 QLabel *label = new QLabe l("Hello Qt!", 0);007 app.setMainWidget (label);008 label->show ();009 return app.exec ();010 }

En primer lugar, va a estudiar línea por línea, entoncveremos cómo compilarlo y ejecutarlo.Las líneas 1 y 2 incluyen las definiciones de las clases QApplication QLabel.

La línea 5 se crea un objeto QApplication para gestionar tod

la aplicación de recursos.El constructor QApplication requiere argc y argv porque Qsoporta algunos argumentos de línea de comandos propios.

La línea 6 crea un widget QLabel que muestra "Hola Qt". Ela terminología de Qt, un widget es un elemento visual en uninterfaz de usuario. Botones, menús, barras de desplazamienty los marcos son ejemplos de widgets. Los widgets puedecontener otros widgets, por ejemplo, una ventana de aplicacióes generalmente un widget que contiene una QMenuBaQToolBar uno, QStatusBar uno, y algunos otros controles. Eargumento de 0 al constructor QLabel (un puntero nulsignifica que el widget es una ventana en su propio derechno un flash dentro de otra ventana.

Línea 7 makesthe etiqueta del widget application'smaiCuando el usuario cierra el widget principal (haciendo clic eX en la barra de título de la ventana, por ejemplo), el programtermina. Sin un widget principal, el programa sigue corrienden segundo plano, incluso después de que el usuario hcerrado la ventana.

Page 14: Programacion No Lineal

5/13/2018 Programacion No Lineal - slidepdf.com

http://slidepdf.com/reader/full/programacion-no-lineal-55a74f01bb6a6 14/14

 

La línea 8 tiene la etiqueta visible. Widgets se crean siempreoculta, de modo que podemos personalizar antes demostrarlos, a fin de evitar el parpadeo.

Línea 9 pasa el control de la aplicación a Qt. En este punto, el programa entra en una especie de modo stand-by, donde seespera a que las acciones del usuario, como clics del mouse y

 pulsaciones de teclas.

Acciones de los usuarios generar eventos (también llamados"mensajes") en que el programa puede responder, por logeneral mediante la ejecución de una o más funciones. En estesentido, las aplicaciones de interfaz gráfica de usuario difierendrásticamente de los programas de lotes convencionales, que

 por lo general de entrada del proceso, resultados, y terminar sin intervención humana.

  Hola en Windows XP. [13]

U N PROGRAMA PARA RESOLVER  ESTE TIPO DE PROBLEMAS 

WinQSB es un sistema interactivo de ayuda a la toma dedecisiones que contiene herramientas muy útiles para resolver distintos tipos de problemas en el campo de la investigaciónoperativa. El sistema está formado por distintos módulos, uno

  para cada tipo de modelo o problema. Entre ellos

destacaremos los siguientes:1. 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 elalgoritmo del Simplex; también permite resolver los

 problemas de programación lineal entera utilizando el  procedimiento de Ramificación y Acotación(Branch&Bound).

2. Linear goal programming (GP) and integer linear goal programming (IGP): resuelve modelos de

  programación multiobjetivo con restriccioneslineales.

3. Quadratic programming (QP) and integer quadratic  programming (IQP): resuelve el problema de  programación cuadrática, es decir, problemas confunción objetivo cuadrática y restricciones lineales.Utiliza un método Simplex adaptado. Los modelos deIQP los resuelve utilizando algoritmos deramificación y acotación.

4.   Network modeling (NET): incluye programasespecíficos para resolver el problema del transbordo,el problema del transporte, el de asignación, el

 problema del camino más corto, flujo máximo, árbgenerador, y problema del agente viajero.

5. Nonlinear programming (NLP): permite resolv  problemas no lineales irrestringidos utilizanmétodos de búsqueda lineal, y problemas no linealcon restricciones utilizando el método SUM(función objetivo con penalizaciones sobre incumplimiento de las restricciones).

6. PERT/CPM: módulo de gestión de proyectos en loque hay que realizar varias actividades con relacionde precedencia[14]

CONCLUSION 

Comprendí que programación no lineal es la manera paresolver un sistema de igualdades y desigualdades sujetas a uconjunto de restricciones (su función objetivo no son linealerepresentara una curva o varias, el algoritmo son los pasosseguir para resolver dicho sistema, y por lo general l

 problemas con los que uno se encuentra en la vida cotidiansuelen ser de este tipo (Programación No Lineal). hay bari

formas de resolver estos problemas como algunos programacomo el explicado anteriormente.

R EFERENCIAS