Está en la página 1de 3

PROGRAMACIÓN NO LINEAL

Programación no lineal (PNL) es el proceso de resolución de un sistema de igualdades y


desigualdades sujetas a un conjunto de restricciones sobre un conjunto de variables reales
desconocidas, con una función objetivo a maximizar, cuando alguna de las restricciones
o la función objetivo no es lineal.
Una suposición importante de programación lineal es que todas sus funciones (función
objetivo y funciones de restricción) son lineales. Aunque, en esencia, esta suposición se
cumple para muchos problemas prácticos, con frecuencia no es así. De hecho, muchos
economistas han encontrado que cierto grado de no linealidad es la regla, y no la
excepción, en los problemas de planeación económica, por lo cual, muchas veces es
necesario manejar problemas de programación no lineal, lo cual vamos a analizar
enseguida.
De la manera general el problema de programación no lineal consiste en encontrar:
𝑋 = (𝑋1 , 𝑋2 , 𝑋3 , 𝑋4 , … … , 𝑋𝑛 ) para

Maximizar 𝑓(𝑋), sujeta a;


𝐺𝑖(𝑋) <= 𝑏𝑖 𝑝𝑎𝑟𝑎 𝑖 = 1,2 … . . 𝑚.
𝑦 𝑋 => 0,

Donde 𝑓(𝑋) 𝑦 𝐺𝑖(𝑥) son funciones dadas de 𝑛 variables de decisión.


Ejemplo: Un joven ingeniero de una compañía ha sintetizado un nuevo fertilizante hecho
a partir de dos materias primas. Al combinar cantidades de las materias primas básicas
𝑥1 𝑦 𝑥2 , la cantidad de fertilizante que se obtiene viene dada por 𝑄 = 4 𝑥1 + 2 𝑥2 −
0.5𝑥12 − 0.25𝑥22 .Se requieren 480 euros por unidad de materia prima 1 y 300 euros por
cada unidad de materia prima 2 que se empleen en la fabricación del fertilizante (en estas
cantidades se incluyen los costos de las materias primas y los costos de producción). Si
la compañía disponer de 24000 euros para la producción de materias primas, plantear el
problema para determinar la cantidad de materia prima de forma que se maximice la
cantidad de fertilizante.
Solución:
Las variables de decisión del problema son:

𝑥1 : 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑚𝑎𝑡𝑒𝑟𝑖𝑎 𝑝𝑟𝑖𝑚𝑎 1


𝑥2 : 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑚𝑎𝑡𝑒𝑟𝑖𝑎 𝑝𝑟𝑖𝑚𝑎 2
El objetivo es maximizar la cantidad de fertilizante, 𝑄 = 4 𝑥1 + 2 𝑥2 − 0.5𝑥12 −
0.25𝑥22 .
Restricciones del problema:
 El coste no puede exceder el presupuesto que la empresa tiene asignado para el
fertilizante, 480𝑥1 + 300𝑥2 ≤ 24000

 No negatividad de las cantidades: 𝑥1 ≥ 0; 𝑥2 ≥ 0 Por tanto:


𝑀𝑎𝑥 𝑄(𝑥1 ; 𝑥2 ) = 4𝑥1 + 2𝑥2 − 0.5𝑥12 − 0.25𝑥22 .
𝑠. 𝑎. 480𝑥1 + 300𝑥2 ≤ 24000
𝑥1 ≥ 0; 𝑥2 ≥ 0

PROGRAMACIÓN ORIENTADA A OBJETOS

La Programación Orientada a Objetos (POO) es un paradigma de programación que busca


que nuestra forma de programar sea más cercana a la forma como nos relacionamos en
nuestro día a día.
Un paradigma de programación es una propuesta tecnológica adoptada por una
comunidad de programadores y desarrolladores cuyo núcleo central es incuestionable en
cuanto que únicamente trata de resolver uno o varios problemas claramente delimitados.
Wikipedia
El nombre de "Orientado a Objetos" se debe a que nuestro código creará objetos que se
encargarán de manipular los datos de entrada para así obtener datos de salida. Estos
objetos tendrán propiedades y métodos.

¿Cómo pensar en objetos?

Pensar en términos de objetos es pensar de manera natural como lo haríamos en la vida


real. Por ejemplo, al pensar en un coche para modelarlo en un esquema de POO. Diríamos
que el coche es el elemento principal que tiene una serie de características, como podrían
ser el color, el modelo o la marca. Además, tiene una serie de funcionalidades o métodos
asociados al mismo, como pueden ser ponerse en marcha, parar o acelerar.
En un esquema POO el coche sería el objeto, las propiedades serían las características
como el color o el modelo y los métodos serían las funcionalidades asociadas como
ponerse en marcha o parar.
Los programas Orientados a objetos utilizan muchos objetos para realizar las acciones
que se desean realizar y ellos mismos también son objetos, por ejemplo, un taller de
coches, el taller de coches será un objeto que utilizará objetos coche, herramienta,
mecánico, recambios, etc.
Algunas de las ventajas de la programación orientada a objetos son los siguientes:
 Los componentes se pueden reutilizar.
 Facilidad de mantenimiento y modificación de los objetos existentes.
 Una estructura modular clara se puede obtener, la cual no revelará el mecanismo
detrás del diseño.
 Se proporciona un buen marco que facilita la creación de rica interfaz gráfica de
usuario aplicaciones (GUI).
 Se acopla bien a la utilización de bases de datos, debido a la correspondencia entre
las estructuras.
Desventajas
 Limitaciones del programador: Es posible el programador desconozca algunas
características del paradigma y de hecho siga utilizando el paradigma
estructurado.
 No hay una forma única de resolver los problemas. Esto puede llevar a que
diferentes interpretaciones de la solución planteada emerjan.
 Se requiere una documentación amplia para determinar la solución planteada.
La programación orienta a objetos es una forma especial de pensar, nos permite modelar
nuestra realidad dentro de un entorno de programación, partiendo de la primicia de que
todo en esta vida es un objeto programable.

También podría gustarte