Está en la página 1de 5

2022

Ejemplos de
Programación

Nombre: Claribel Rodríguez.


CI: 30.023.652
SID3B
Docente: Audrey Bermúdez.
Investigación de Operaciones

San Cristóbal
PROGRAMACIÓN DINÁMICA

Los autos en el ajedrez pueden moverse horizontal o verticalmente. ¿Cuántos


caminos más cortos hay para que un auto se mueva de una esquina del tablero a la
otra esquina de la diagonal?

Resuelva con un algoritmo de programación dinámico (suponiendo que la placa sea


n * n, la ruta más corta no se puede revertir)

Configuramos F [i, j] para representar el número de métodos desde las


coordenadas (0, 0) hasta (i, j) (defina el significado de F [i, j], un punto clave de la
programación dinámica):

Obviamente, para ir a la coordenada (i, j), la coordenada del paso anterior debe ser
(i-1, j) o (i, j-1) (pensamiento inverso para analizar el problema de la programación
dinámica)

Esto describe el problema como un subproblema superpuesto:

F [i, j] = F [i -1, j] + F [i, j-1] (F [i, j] se divide en subproblemas superpuestos más


pequeños)

Lo que queremos es F [n, n]

Enumere las condiciones límite iníciales:

F[0 , j] = 1
F[i , 0] = 1

La forma de relleno de matriz: puede ser fila o columna.

El algoritmo de programación dinámica típico se repite a su vez desde la condición


límite más pequeña.
Después de completar la matriz también es muy simple

1  8  36 120 330  792 1716  3432

1  7  28 84   210  462 924   1716

1  6  21 56  126  252  462 792

1 5 15 35 70  126 210  330

1  4  10 20  35  56   84  120

1 3 6  10  15   21  28  36


1 2 3  4 5  6  7  8

Coche 1 1 1 1 1 1 1

Esta imagen parece familiar, sí, este es el Triángulo de Pascal

  11

  121

  1331

  14641

  ...........

Deformación. Ese es el coeficiente de expansión del binomio. De hecho, F [n, n] es


C (2n, n)
(c(n,m)=p(n,m)/m!=n!/((n-m)!*m!))

La naturaleza de los coeficientes binomiales ya es obvia en el gráfico C (n, k) = C


(n-1, k-1) + C (n-1, k) n> k> 0

PROGRAMACIÓN ENTERA

Problema de la Mochila: Un armador tiene un carguero con capacidad de hasta 700


toneladas. El carguero transporta contenedores de diferentes pesos para una
determinada ruta. En la ruta actual el carguero puede transportar algunos de los
siguientes contenedores:

El analista de la empresa del armador desea determinar el envío (conjunto de


contenedores) que maximiza la carga transportada. Para ello se propone el
siguiente modelo de Programación Entera:

Variables de Decisión:

Función Objetivo: Consiste en maximizar la carga que transportará el carguero.


Restricciones: El peso de la carga transportada no puede exceder la capacidad
máxima del carguero.

Al implementar computacionalmente el problema anterior haciendo uso de Open-


Solver se alcanzan los siguientes resultados:

La solución óptima consiste en transportar los contenedores C1, C2, C3, C4, C8,
C9 y C10, con un valor óptimo de 700 (toneladas), es decir, se utiliza la capacidad
completa del carguero. Notar que otra solución óptima consiste en transportar los
contenedores C1, C3, C4, C5, C6, C7, C8 y C9 lo que reporta un similar valor en la
función objetivo.

PROGRAMACIÓN NO LINEAL

A una compañía le cuesta c UM por unidad fabricar un producto. Si la compañía co-


bra p UM por unidad de producto, los clientes pedirán  unidades. Para maximizar
las ganancias, ¿qué precio tendría que poner la compañía? 

Solución
La variable de decisión de la empresa es p 
Dado que la ganancia de la empresa es, la empresa querrá resolver el siguiente
problema de maximización sin restricción: 

También podría gustarte