Sie sind auf Seite 1von 81

Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS


ESCUELA PROFESIONAL DE MATEMÁTICAS

AS
S IC
AS FÍ
IC AS
ÁT CI
EM IEN

Método combinatorio en el estudio de sistemas finitos y su


aplicación en la solución de problemas de programación
matemática
AT C
M DE

TESIS PARA OPTAR EL TÍTULO PROFESIONAL DE


CA

LICENCIADO EN MATEMÁTICAS
TE
Y

Autor:
Calderón Beltrán, Elmer Rusbert
IO
BL

Asesor:
MSc. Aragonés Salazar, Nelson Omar
BI

Trujillo - Perú
2019

Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Dedicatoria

AS
S IC
AS FÍ
IC AS
ÁT CI
EM IEN
AT C
M DE
CA
TE
Y
IO
BL
BI

Con todo mi amor y cariño a mis padres


Elmer Calderón y Nancy Beltrán.

i
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Agradecimientos

AS
IC
A mis padres Elmer y Nancy por la educación y consejos que siempre me dieron,

S
a toda mi fámilia por su apoyo incondicional.

AS FÍ
A todos los profesores del Departamento de Matemáticas de la Universidad Na-
cional de Trujillo por sus enseñanzas en mi formación como matemático. Al profesor

IC AS
MSc. Nelson Aragonés por su dispocisión y supervisión en el desarrollo de este tra-
bajo. A los profesores Dra. Jenny Rojas y Dr. Rafael Asmat por la revisión de este
trabajo. ÁT CI
A mis amigos Alfredo Jara, Bertha Rodriguez, Josimar Aguirre, José Lom-
bardi, Julio Matute, Omar Otiniano y Yessica Zárate por las innumerables charlas
EM IEN

matemáticas y por hacer los dı́as de mi graduación agradables. A mi amigo Manuel


Argomedo por sus innumerables sugerencias con el Latex y a todos los que no fueron
AT C

nombrados pero que compartı́ momentos en la UNT.


M DE
CA
TE
Y
IO
BL
BI

ii
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

AS
Presentación

S IC
AS FÍ
Señores miembros del Jurado:

IC AS
En cumplimiento a lo dispuesto por las normas del reglamento de Grados y
Tı́tulos de la Universidad Nacional de Trujillo, para optar el tı́tulo de Licenciado en
ÁT CI
Matemáticas, pongo a su disposición la Tesis titulada:
EM IEN

Método combinatorio en el estudio de sistemas finitos y su


aplicación en la solución de problemas de programación matemática
AT C

para que con su aprobación haga realidad mi deseada meta.


M DE

Con la consideración de que este trabajo pueda estar incompleto, acepto hones-
tamente todas sus apreciaciones y sugerencias que tengan a bien formular, lo cual
me servirá para mejorarlo en el futuro.
CA
TE
Y

El Autor
IO
BL

Trujillo, Octubre del 2019


BI

iii
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

AS
S IC
AS FÍ
IC AS
ÁT CI
EM IEN
AT C
M DE
CA
TE
Y
IO
BL
BI

Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Resumen

AS
IC
Los problemas de optimización combinatoria tienen una formulación sencilla y

S
desde que el conjunto de posibles soluciones es finito se puede pensar que es un

AS FÍ
problema fácil de abordar, sin embargo la cantidad de posibles soluciones puede ser
tan grande que obtener la solución en un tiempo determinado con los métodos y

IC AS
medios técnicos existentes puede resultar una tarea imposible.
En el presente trabajo presentamos el método combinatorio-aproximante pro-
puesto por V. Khachaturov para abordar dichos problemas. Este método se basa
ÁT CI
en la construcción de funciones aproximantes y luego a partir de ciertos criterios
de optimización podemos determinar la solución óptima del problema o un subcon-
EM IEN

junto donde esta se encuentra. Presentaremos la construcción de algunas clases de


funciones aproximantes, y la usaremos en el método combinatorio-aproximante para
AT C

resolver el problema de programación entera con dos o más restricciones. Además


presentamos la implementación en C++ para una función aproximante.
M DE

Palabras claves: Algoritmo de Bellman, funciones supermodulares, método


CA

combinatorio-aproximante, optimización combinatoria.


TE
Y
IO
BL
BI

v
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Abstract

AS
IC
The combinatorial optimization problems have a simple formulation and since

S
the set of possible solutions is finite, it can be thought of being an easy problem to

AS FÍ
address, however, the number of possible solutions can be so great that obtaining
the solution at any given time, with existing methods and technical means, can be

IC AS
an impossible task.
In this paper we present the combinatorial-approximate method proposed by V.
Khachaturov to address these problems. This method is based on the construction of
ÁT CI
approximate functions and then from certain optimization criteria we can determine
the optimal solution of the problem or a subset where it is located. We will present
EM IEN

the construction of some classes of approximate functions, and we will use it in


the combinatorial-approximate method to solve the entire programming problem
AT C

with two or more restrictions. We also present the implementation in C++ for an
approximate function.
M DE

Keywords: Bellman’s algorithm, combinatorial-approximate method, combina-


CA

torial optimization, supermodular functions.


TE
Y
IO
BL
BI

vi
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Lista de sı́mbolos

AS
IC
Ω0 : Conjunto de los elementos cercanos al óptimo

S
N : Conjunto de los números naturales {1, 2, 3, . . .}

AS FÍ
N0 : Conjunto de los números {0, 1, 2, 3, . . .}

IC AS
2X : Conjunto potencia de X
ÁT CI
P : Función aproximante
EM IEN

A−1 : Inversa de la matriz A

|X| : Número de elementos del conjunto X


AT C

xT : Transpuesta del vector x


M DE
CA
TE
Y
IO
BL
BI

vii
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Índice general

AS
IC
Resumen v

S
AS FÍ
Abstract vi

IC AS
Introducción 1

1 Preliminares ÁT CI 5
1.1 Optimización combinatoria . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Programación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
EM IEN

1.2.1 Método simplex . . . . . . . . . . . . . . . . . . . . . . . . . . 9


1.3 Minimización de funciones supermodulares . . . . . . . . . . . . . . . 14
1.3.1 Método de cálculos sucesivos . . . . . . . . . . . . . . . . . . . 15
AT C

1.4 Optimización dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . 18


M DE

1.4.1 Programación dinámica . . . . . . . . . . . . . . . . . . . . . 20


1.4.2 Problema de asignación de recursos . . . . . . . . . . . . . . . 20

2 Método aproximante-combinatorio y su uso en la solución de pro-


CA

blemas de programación matemática 24


2.1 Definiciones y planteamiento del problema . . . . . . . . . . . . . . . 24
TE

2.2 Descripción del método combinatorio-aproximante . . . . . . . . . . . 25


Y

2.3 Clases de funciones aproximantes . . . . . . . . . . . . . . . . . . . . 32


IO

2.3.1 Clase de funciones lineales definidas sobre el conjunto de vértices


de un poliedro (uso de programación lineal) . . . . . . . . . . 32
BL

2.3.2 Clase de funciones definidas en la familia de subconjuntos de


un conjunto dado (uso del método de cálculos sucesivos) . . . 38
BI

2.3.3 Clase de funciones definidas sobre un reticulado de números


enteros (uso de programación dinámica) . . . . . . . . . . . . 40

3 Aplicación del método combinatorio-aproximante en la solución de


problemas de programación matemática 61
3.1 Problemas de programación entera con dos o más restricciones . . . . 61

viii
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Conclusiones 66

Referencias bibliográficas 67

AS
S IC
AS FÍ
IC AS
ÁT CI
EM IEN
AT C
M DE
CA
TE
Y
IO
BL
BI

Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Introducción

AS
IC
La programación matemática es una rama de la matemática aplicada orientada

S
al diseño de métodos para resolver problemas de optimización en los que se deben

AS FÍ
determinar decisiones que optimicen un determinado objetivo. En los problemas de
optimización se identifica la función objetivo la cual será objeto de maximización

IC AS
o minimización, cumpliendo ciertas restricciones de las variables de decisión. La
programación matemática a su vez se divide en diferentes sub disciplinas según las
caracterı́sticas de las variables y de las ecuaciones y/o inecuaciones que describen
ÁT CI
los modelos matemáticos.
Podemos encontrar una gran cantidad de problemas de optimización, tanto en
EM IEN

la industria como en la ciencia, existiendo ası́ una infinidad de problemas teóricos


y prácticos que involucran la optimización. Algunas clases de problemas de opti-
AT C

mización son relativamente fáciles de resolver, este es el caso por ejemplo de los
problemas de programación lineal el cual fue estudiado por G. Dantzig en 1947 de-
M DE

terminando que se pueden resolver por el conocido método simplex. Sin embargo,
muchos otros tipos de problemas de optimización son muy dı́ficiles de resolver. De
hecho, la mayor parte de problemas que podemos encontrar en la práctica estan
CA

dentro de esta categorı́a. La idea intuitiva de problema “dı́ficil de resolver”queda re-


flejada en el término cientı́fico NP-hard utilizado en el contexto de la complejidad al-
TE

gorı́tmica. En términos coloquiales podemos decir que un problema de optimización


Y

es dı́ficil de resolver si no podemos garantizar el encontrar la mejor solución posible


en un tiempo razonable.
IO

El presente trabajo está centrado en la clase de problemas de optimización com-


BL

binatoria, estos son problemas de optimización donde el número de soluciones posi-


bles es finito. Especı́ficamente consideremos el siguiente problema de optimización
combinatoria: determinar
BI

α ∈ Ω,
(1)
f (α) = min f (ω),
ω∈Ω

siendo |Ω| < +∞. A los problemas formulados como (1) usualmente se les llama
problemas de optimización en formulación combinatoria.
El Problema (1) puede ser resuelto evaluando cada ω ∈ Ω en la funcional f lo cual
es teóricamente posible ya que el número de elementos en Ω es finito, a tal método se

1
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

le llama método de evaluación exhaustiva, este método de revisión completa puede


ser insoluble una vez que se fija un intervalo de tiempo para su solución. Incluso
con la ayuda de los medios técnicos modernos de cómputo y la implementación
de métodos que eviten el camino de la evaluación exhaustiva, tomando en cuenta
propiedades especı́ficas del problema considerado, verificarlas en el transcurso del

AS
intervalo de tiempo dado resultaria imposible. A tales problemas se les conoce como
problemas de gran escala.
Por tanto, al hablar sobre la escala de un problema de optimización combinatoria,

IC
deberemos considerar no sólo las propiedades de la funcional y el número de solu-

S
ciones posibles, sino también las caracterı́sticas de los medios técnicos de cómputo
utilizados, el suministro de programas y el tiempo destinado para hallar la solución.

AS FÍ
Introduzcamos algunas notaciones:

IC AS
T − el tiempo, en cuyo transcurso debe ser hallada la solución óptima;

T0 − el tiempo de solución del problema por evaluación exhaustiva;


ÁT CI
V − el número de valores f (ω), evaluables por unidad de tiempo con ayuda de un
EM IEN

medio de cómputo determinado (velocidad de evaluación);


1
ν− tiempo de evaluación de una variable (frecuencia de evaluación ν = V
);
AT C

|Ω|− el número de elementos en Ω;


M DE

El tiempo de solución del problema por evaluación exhaustiva es igual a

T0 = ν|Ω|.
CA

Si T0 ≤ T puede ser aplicado el método de evaluación exhaustiva, en caso contrario


(T0 > T ) el método de evaluación exhaustiva no se puede aplicar. En este sentido
TE

es necesario elaborar un método que evite la revisión completa de los ω ∈ Ω, a tales


Y

métodos se les llama métodos combinatorios.


IO

Consideremos las siguientes notaciones:


e subconjunto del conjunto Ω tal que α ∈ Ω;
Ω−
BL

t(Ω)−
e el tiempo empleado por el método propuesto (algoritmo) para separar el con-
BI

junto Ωe de Ω con ayuda de los medios de cómputo dados;

|Ω|−
e el número de elementos en Ω.
e

Ası́ para que el problema considerado sea resuelto con ayuda de métodos combina-
torios y medios de cómputo dados en un tiempo T > 0, es necesario que se cumpla
la siguiente desigualdad
ν|Ω| e ≤ T,
e + t(Ω)

2
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

en caso contrario el problema no podrá ser resuelto.


El enfoque general para el caso T0 > T es evitar el cálculo directo de los valores
f (ω), ω ∈ Ω. De esta manera presentaremos un método combinatorio para evitar la
evaluación exhaustiva. En el presente trabajo proponemos el método combinatorio-
aproximante dado por V. Khachaturov [22, 23, 24] para la solución del Problema

AS
(1). Este método amplió la clase de problemas de optimización combinatoria solubles
y su aplicación permitió encontrar la solución exacta, o bien estimar una solución
aproximada. Además este método ofrece maneras de modificar los métodos conocidos

IC
con el fin de disminuir su sensibilidad al cambio en las condiciones del problema y

S
para disminuir el error de las soluciones obtenidas.
El método combinatorio-aproximante desarrollado por V. Khachaturov abordó

AS FÍ
diversos problemas regionales en Rusia con mucho éxito a inicios del año 1970, como
la distribución de complejos de industrias entre otros. En conjunto con el profesor

IC AS
N. Aragonés docente de la Universidad Nacional de Trujillo desarrollaron un modelo
económico matemático para la planificación agrı́cola de paı́ses en desarrollo [4], una
ÁT CI
copia de este trabajo en ruso se encuentra en dicha casa de estudios. El método
propuesto no es conocido en occidente a pesar de que tiene grandes aplicaciones en
EM IEN

Rusia, es ası́ que el presente trabajo a parte de ser un trabajo de investigación en el


área de optimización también es un trabajo de divulgación.
A seguir describiremos brevemente el método combinatorio-aproximante:
AT C

1.) Definimos una función P en Ω llamada función aproximante la cual tiene las
M DE

siguientes caracterı́sticas:

i.) P (α) ≤ f (α).


CA

ii.) Para la función P se cuenta con métodos y algoritmos efectivos para


determinar α0 ∈ Ω tal que
TE

P (α0 ) = min P (ω)


Y

ω∈Ω

y además el subconjunto Ω0 ⊂ Ω tal que


IO

P (α0 ) ≤ P (ω) ≤ P (α0 ) + R, ω ∈ Ω0 , (2)


BL

P (ω) > P (α0 ) + R, ω ∈ Ω \ Ω0 ,


BI

donde R > 0 es una constante arbitaria.

2.) Dada R > 0 determinar Ω0 ⊂ Ω y α


e ∈ Ω0 tal que

f (e
α) = min f (ω).
ω∈Ω0

3.) Hacer uso de los criterios de optimización desarrollados en el Capı́tulo 2 para


determinar α ∈ Ω o en caso contrario el subconjunto Ω e ⊂ Ω.

3
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Es ası́ que el estudio de funciones aproximantes para f nos permite encontrar


un subconjunto Ω e ⊂ Ω donde α ∈ Ω. e La construcción de funciones aproximantes es
muy variado y depende del problema en especı́fico como se muestra en la Sección
2.3. Notemos que el éxito de este método se debe a que tanto podemos reducir el
subconjunto Ω,e es ası́ que a más funciones aproximantes para un mismo problema

AS
se tienen mejoras considerables de acuerdo con el Teorema 2.3, el cual indica que en
este caso podemos reducir la cantidad de elementos en Ω. e El presente trabajo está
organizado de la siguiente manera:

IC
En el Capı́tulo 1 presentamos un resumen de algunos problemas de programación

S
matemática y sus algoritmos de solución, como por ejemplo el método simplex,
método de cálculos sucesivos para funciones supermodulares y el algoritmo de Bell-

AS FÍ
man para el problema de asignación de recursos. Lo anterior permitirá al lector
entender con más facilidad la construcción de las funciones aproximantes desarro-

IC AS
lladas en la Sección 2.3.
En el Capı́tulo 2 desarrollamos el método combinatorio-aproximante para la solución
ÁT CI
de problemas de programación matemática ası́ como los diferentes criterios de op-
timización los cuales nos permitirá obtener α ∈ Ω o un conjunto Ω e tal que α ∈ Ω.
EM IEN
e
Además de eso presentamos tres clases de funciones aproximantes y algunos ejem-
plos, para un mejor entendimiento de cómo encontrar el subconjunto Ω0 dado por
(2). En este capı́tulo también se puede ver cómo la alteración de un método ya cono-
AT C

cido nos puede llevar a la construcción de funciones aproximantes. En este capı́tulo


M DE

también presentamos la implementación en lenguaje C++ para encontrar las solu-


ciones cercanas a la óptima, es decir, Ω0 de la función aproximante presentada en la
Subsección 2.3.3.
CA

En el Capı́tulo 3 abordamos el problema de programación entera con dos o más


restricciones por medio del método combinatorio-aproximante desarrollado en el
capı́tulo anterior.
TE
Y
IO
BL

El Autor
BI

4
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Capı́tulo 1

AS
IC
Preliminares

S
AS FÍ
En este primer capı́tulo abordaremos brevemente algunos algoritmos de solución

IC AS
de problemas de programación matemática, estos algoritmos serán modificados en
el Capı́tulo 2 para definir funciones aproximantes las cuales constituyen una parte
importante de este trabajo.ÁT CI
EM IEN

1.1 Optimización combinatoria


La optimización combinatoria es una rama de la optimización en el cual el es-
AT C

pacio de soluciones posibles es discreto y se busca un elemento óptimo en ese con-


junto finito, es decir el óptimo se podrı́a encontrar mediante la enumeración de
M DE

todas las soluciones. A este procedimiento se le conoce como evaluación exhaustiva.


Sin embargo en la mayorı́a de problemas de interés las soluciones posibles confor-
man un número muy grande y ası́ la evaluación exhaustiva se vuelve un método
CA

obsoleto. El área de optimización combinatoria se encarga de dar solución a esos


problemas o encontrar una solución aproximada o reducir el conjunto de soluciones
TE

posibles elaborando un método que evite la revisión completa. A estos métodos de


Y

les llama métodos combinatorios. Para más detalles de los diferentes problemas de
IO

optimización combinatoria ası́ como los diferentes algoritmos ver [28, 30].
BL

Al siguiente problema

min (o max) f (x),


BI

s.a x ∈ Ω,

donde |Ω| < ∞ se le dice problema de optimización en su formulación combinatoria.


En las próximas secciones de este capı́tulo se presentarán problemas de optimización
combinatoria.

5
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

1.2 Programación lineal


La programación Lineal estudia aquellos problemas de programación matemática
en el cual se maximiza o minimiza una función lineal llamada función objetivo su-
jeta a una serie de restricciones expresadas como inecuaciones o ecuaciones también

AS
lineales; estos problemas se pueden resolver con el conocido método simplex. A
seguir desarrollaremos brevemente los conceptos previos al método simplex las de-
mostraciones son omitidas por no ser la finalidad de este trabajo pero pueden ser

IC
encontrados en [8, 13, 16].

S
La noción de punto extremo juega un rol importante en la teorı́a de programación

AS FÍ
lineal. A seguir tenemos la definición de punto extremo.

Definición 1.1 Sea n ∈ N y S un conjunto convexo no vacı́o en Rn . Un vector

IC AS
x ∈ S se denomina punto extremo1 de S; si no puede ser representado como
combinación convexa de dos puntos diferentes de S, es decir, si x = λx1 + (1 − λ)x2
ÁT CI
con x1 , x2 ∈ S y λ ∈ h0, 1i implica que x = x1 = x2 .

El siguiente teorema caracteriza los puntos extremos.


EM IEN

Teorema 1.1 [Caracterización de puntos extremos.] Consideremos el con-


junto S = {x ∈ Rn | Ax = b, x ≥ 0} donde A es una matriz m × n de rango m y
AT C

b ∈ Rm . Un punto x ∈ S es punto extremo de S, si y sólo si A se puede descomponer


en la forma [B N ] tal que
M DE

   −1 
xB B b
x := =
xN 0
donde B es una matriz m × m invertible, tal que B −1 b ≥ 0.
CA

El siguiente corolario es una consecuencia inmediata del teorema anterior.


TE
Y

Corolario 1.1 El número de puntos extremos de S es finito.


IO

Definición 1.2 Sea S un conjunto convexo y cerrado en Rn . Un vector d 6= 0 en


Rn se denomina dirección de S, si para cada punto x ∈ S, el rayo2 de origen x y
BL

dirección d esta contenido en S.

Definición 1.3 Una dirección d de S, se llama dirección extrema, si no se puede


BI

escribir como combinación lineal positiva de dos direcciones diferentes, es decir, si

d = λ1 d1 + λ2 d2 , donde λ1 , λ2 > 0,

implica d1 = αd2 para algún α > 0.


1
También llamado vértice.
2
Un rayo es la colección de puntos de la forma {x + λd| λ ≥ 0, d 6= 0}.

6
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

De manera análoga al Teorema 1.1, tenemos el siguiente teorema que caracteriza


las direcciones extremas.

Teorema 1.2 [Caracterización de direcciones extremas.] Consideremos el


conjunto S = {x ∈ Rn | Ax = b, x ≥ 0} donde A es una matriz m × n de rango
m y b ∈ Rm . Un vector d es una dirección extrema de S si y sólo si A puede ser

AS
descompuesta en [B N ] tal que B −1
 aj ≤ 0, para alguna columna aj de N , y d es un
−1
−B aj
multiplo positivo de d = ; donde ej es un (n − m)-vector de ceros, excepto

IC
ej
en la posición j que tiene valor 1.

S
El siguiente corolario es una consecuencia inmediata del teorema anterior.

AS FÍ
Corolario 1.2 El número de direcciones extremas de S es finito.

IC AS
Definición 1.4 Considere el sistema Ax = b y x ≥ 0 donde A es una matriz de
m × n y b un m vector tal que rango(A, b) = rango(A). Sea A = [B N ], en donde
ÁT CI
B es una matriz invertible de m × m y N una matriz m × (n − m). La solución
xB
x= de Ax = b donde:
EM IEN

xN

xB = B −1 b,
AT C

xN = 0,
M DE

se denomina solución básica del sistema. Si xB ≥ 0, la solución x se denomina


solución básica factible del sistema. Además, B es llamada matriz básica, N
matriz no básica, las componentes de xB se llaman variables básicas y las
CA

componentes de xN , variables no básicas.

El siguiente teorema muestra la equivalencia entre los puntos extremos y las


TE

soluciones básicas factibles.


Y

Teorema 1.3 Un punto es una solución básica factible si y sólo si es un punto


IO

extremo.
BL

Sea el siguiente problema de programación lineal:

Minimizar cT x
BI

s.a. Ax = b (1.1)
x≥0

en donde A es una matriz de m × n con rango m, c ∈ Rn y b ∈ Rm .


El teorema siguiente nos da una condición de optimalidad para este problema,
es decir, una condición para la existencia de la solución al problema (1.1).

7
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Teorema 1.4 [Existencia de Solución Óptima.] Consideremos el problema (1.1)


con región factible no vacı́a y sea x1 , . . . , xk los puntos extremos y d1 , . . . , dl las di-
recciones extremas de la región factible. Una condición necesaria y suficiente para
la existencia de una solución óptima finita del problema (1.1) es que cT dj ≥ 0 para
j = 1, 2, . . . , l. Si este es el caso, entonces algún punto xj es la solución óptima.

AS
Ejemplo 1.1 Consideremos los siguientes problemas de programación lineal:

IC
Minimizar: x1 − 3x2 (1.2) Minimizar: 4x1 − x2 (1.3)

S
s.a. − x1 + x2 ≤ 2 s.a. − x1 + x2 ≤ 2

AS FÍ
−x1 + 2x2 ≤ 6 −x1 + 2x2 ≤ 6
x1 , x2 ≥ 0. x1 , x2 ≥ 0.

IC AS
Los Problemas (1.2) y (1.3) tienen la misma región factible y esta es mostrada en
ÁT CI
la Figura 1.1. Es fácil ver que tiene 3 puntos extremos x1 , x2 , x3 y dos direcciones
extremas d1 y d2 :
EM IEN

     
0 0 2
x1 = , x2 = , x3 = ;
0 2 4
   
1 2
d1 = , d2 = ,
AT C

0 1
M DE

además el Problema (1.2) no tiene solución acotada mientras que el Problema (1.3)
CA

x3
TE
Y

x2
x1
IO
BL

Figure 1.1: Región factible no acotada.


BI

alcanza su punto óptimo en el punto extremo x2 .


Sea c1 = [1, −3] y c2 = [4, −1], notemos que c1 d1 > 0, c1 d2 < 0 y c2 d1 > 0,
c2 d2 > 0. Luego por el Teorema 1.4 tenemos que sólo el Problema 1.3 tiene solución
óptima finita en algún punto extremo.

Corolario 1.3 Si el Problema (1.1) tiene una solución óptima, entonces esa corre-
sponde a un punto extremo.

8
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

1.2.1 Método simplex


El método simplex fue creado por G. Dantzing [13] en el verano de 1947 para
resolver problemas de programación lineal. La clave del método simplex radica en
que una vez satisfecha la condición de optimalidad, se debe hallar un punto extremo
y a partir de este, hallar el siguiente punto extremo con mejor valor que el anterior.

AS
Consideremos el problema (1.1) y sea

S := {x ∈ Rn | Ax = b, x ≥ 0}.

IC
Supongamos que x es algún punto extremo de S. Luego −1por
 los Teoremas 1.1 y

S
B b
1.3 este es una solución básica factible dada por x = donde B −1 b ≥ 0 y

AS FÍ
0
A = [B N ]. Sea z0 el valor para el punto extremo x, entonces tenemos:

IC AS
z0 := cT x = cTB xB = cTB B −1 b. (1.4)
 
xB
Para x ∈ S, sea x = ÁT CI donde xB y xN denotan las variables básicas y no
xN
básicas respectivamente, luego
EM IEN

 Ax = b
xB
[B N ] = b
xN
AT C

BxB + N xN = b
M DE

xB + B −1 N xN = B −1 b
xB = B −1 b − B −1 N xN
CA

X
xB = B −1 b − B −1 aj xj (1.5)
j∈R

donde R es el conjunto actual de ı́ndices de las variables no básicas y aj la j-ésima


TE
Y

columna correspondiente a la matriz N .


De (1.4) y (1.5) tenemos:
IO

z = cT x
BL

z = cTB xB + cTN xN
 X  X
T −1 −1
z = cB B b − B aj x j + cj x j
BI

j∈R j∈R
X X
z = z0 − cTB B −1 aj xj + cj x j
j∈R j∈R
X
z = z0 − (cTB B −1 aj − cj )xj
j∈R
X
z = z0 − (zj − cj )xj , ∀ x ∈ S, xN ≥ 0, (1.6)
j∈R

9
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

donde
zj := cTB B −1 aj , j ∈ R. (1.7)
Luego por (1.5) y (1.6) el Problema (1.1) es equivalente al siguiente problema
X
Minimizar: z = z0 − (zj − cj )xj

AS
j∈R
X
s.a. B −1 aj xj + xB = B −1 b (1.8)
j∈R

IC
xj ≥ 0, j ∈ R, xB ≥ 0.

S
En el Problema (1.8), si zj − cj ≤ 0, ∀ j ∈ R, entonces z ≥ z0 para cualquier

AS FÍ
x ∈ S. Entonces xj = 0para cada
 j ∈ R, z = z0 es el valor mı́nimo y este corresponde
−1
B b
al punto extremo x = .
0

IC AS
Observación 1.1 i.) Si zj − cj < 0 para cada j ∈ R entonces la solución óptima
ÁT CI
actual es única, como se puede observar de (1.6).

ii.) Si zj − cj ≤ 0 para cada j ∈ R pero para algún k ∈ R tenemos que zk − ck = 0


EM IEN

entonces existen infinitas soluciones óptimas, como se puede observar de (1.6).

Sin embargo, si zj − cj > 0 para algún j ∈ R, entonces z0 no es mı́nimo. Vamos


AT C

a introducir una variable no básica como variable básica y las restantes asignaremos
el valor cero.
M DE

Sea
zk − ck = max{zj − cj | j ∈ R},
CA

fijando xj = 0 para cada j ∈ R − {k}, obtenemos:

z = z0 − (zk − ck )xk (1.9)


TE
Y

y      
xB 1 b1 y1k
IO

 xB2   b2   y2k 
     
 ..  =  ..  −  ..  xk
xB =  (1.10)
    
BL

 . .
    . 
xBm bm ymk
BI

donde bi y yik es la i-ésima componente de b = B −1 b y B −1 ak respectivamente. Por


lo expuesto anteriormente notemos que yik satisface la siguiente relación:
m
X
yik Bi = ak , (1.11)
i=1

donde Bi representa la i-ésima columna de la matriz B.

10
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Entonces el nuevo punto x ∈ S es representado por


 
b1 − y1k xk
 
 b2 − y2k xk 
..
 
.
 
 
 
bm − ymk xk 

AS
 
" #  0

 
xB  . 
x= = .. . (1.12)

IC
xN 



 0 
 
xk

S
 
 
0
 

AS FÍ
 

 .
..


 
0

IC AS
Incrementando xk hasta el primer punto donde alguna variable básica descienda a
cero, es decir, xk incrementa hasta
ÁT CI  
br bi
xk = ≡ min , yik > 0 , (1.13)
EM IEN

yrk 1≤i≤m yik


asi de (1.9) y del hecho que zk − ck > 0, se concluye que z < z0 . Portanto de (1.12)
y (1.13) tenemos, el nuevo punto extremo:
AT C

 
b1 − y1k xk
..
M DE

 

 . 

b
 r−1 − y x
r−1k k 

 
 0 
CA

 
b
 r+1 − y r+1k x k


0
 
 
x= . (1.14)
TE


 .
.

Y

 
 

 0 

IO


 xk 

 
 0 
BL

.
 

 .
.


0
BI

para la cual la función objetivo mejora estrictamente y xk pasa a ser una variable
básica y xr deja de ser variable básica para ser no básica.

Teorema 1.5 [Movimientos a lo largo de los bordes [16].] La clase de solu-


ciones factibles generadas al aumentar el valor de una variable no básica xk (1.13)
y ajustar los valores de las variables básicas (1.14), corresponde a un movimiento a
lo largo de un borde del conjunto convexo Ax = b a un nuevo punto extremo.

11
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Demostración. Para una revisión detallada de la prueba ver Teorema 1.7 en [16].

El teorema anterior nos da un algoritmo para pasar de un punto extremo (solución
básica factible) a otro punto extremo. Para esto la variable no básica xk ingresa como
variable básica y la variable básica xr pasa a ser no básica como se indica en (1.13).

AS
Notemos que el punto extremo actual tiene un valor objetivo mejor que el anterior
pues zk − ck > 0. Pero si zk − ck < 0, entonces usando el mismo algoritmo, ingresaba
la variable xk como variable básica y la variable básica xr pasa a ser no básica sólo

IC
que en este caso su correspondiente valor objetivo es mayor que el valor óptimo

S
anterior, este procedimiento será usado en la Subsección 2.3.1.
De esta manera el método simplex pasa de punto extremo a un nuevo punto

AS FÍ
extremo mejorando el valor de la función objetivo. El proceso se repite hasta lograr
el punto extremo óptimo.

IC AS
Observación 1.2 Si xk es la variable no básica que entra y yk ≤ 0 entonces por
ÁT CI
(1.9) y (1.10) tenemos que la solución óptima es no acotada. Portanto si existe una
solución óptima acotada entonces (1.13) tiene sentido.
EM IEN

A seguir presentamos el método simple en la solución de un problema de pro-


gramación lineal, este ejemplo será usado en el Capı́tulo 2.
AT C

Ejemplo 1.2
Minimizar x1 + x2 − 4x3
M DE

s.a. x1 + x2 + 2x3 ≤ 9
x1 + x2 − x3 ≤ 2
−x1 + x2 + x3 ≤ 4
CA

x1 , x2 , x3 ≥ 0.
Para iniciar el algoritmo simplex vamos a introduzir 3 variables de holgura x4 , x5 , x6
TE
Y

Minimizar x1 + x2 − 4x3 + 0x4 + 0x5 + 0x6


s.a. x1 + x2 + 2x3 + x4 = 9
IO

x1 + x2 − x3 + x5 = 2
BL

−x1 + x2 + x3 + x6 = 4
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0.
BI

Iteración 1:
Consideremos B = [a4 , a5 , a6 ]. Luego tenemos
       
1 0 0 x4 9 0
−1 −1
B = 0 1 0 , x = B b = x5  = 2 , y cB = 0 .
       

0 0 1 x6 4 0

Portanto z0 = 0. Analizando si es posible mejor el valor de la función objetivo:

12
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

z1 − c1 = cTB B −1 a1 − c1 = −1,

z2 − c2 = cTB B −1 a2 − c2 = −1,

z3 − c3 = cTB B −1 a3 − c3 = 4.

Desde que z3 − c3 > 0 la variable no básica x3 ingresa como variable básica. A seguir

AS
realizaremos (1.13) para obtener nuestra solución básica factible actual

IC
 
0
 0 
   
2

S
 
 x3 
y3 = B −1 a3 = −1 , x= y ∴ x3 = 4.
 

AS FÍ
 
9 − 2x 
3
1

 
 2 + x3 

IC AS
4 − x3

Para esta nueva solución básica factible tenemos z = −16.


Iteración 2:
ÁT CI
Consideremos B = [a3 , a4 , a5 ] luego tenemos
EM IEN

       
0 0 1 x3 4 −4
−1
B =  1 0 −2  , x = x4  = 1 , y cB =  0  .
       
AT C

0 1 1 x5 6 0
M DE

Analizando si es posible mejor el valor de la función objetivo:

z1 − c1 = cTB B −1 a1 − c1 = 3,
CA

z2 − c2 = cTB B −1 a2 − c2 = −5,

z6 − c6 = cTB B −1 a6 − c6 = −4.
TE
Y

Desde que z1 − c1 > 0 la variable no básica x1 ingresa como variable básica. A seguir
obtenemos nuestra solución básica factible actual
IO

 
x1
BL

 0 
   
−1  
−1
 4 + x1  1
y 1 = B a1 =  3  , x =  1 − 3x  y ∴ x1 = 3 .
 
BI


1
0

 
 6 
0

Para esta nueva solución básica factible tenemos z = −17.


Iteración 3:

13
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Consideremos B = [a1 , a3 , a5 ] luego tenemos


       
1 2 1
3
0 − 3
x1 3
1
B −1 =  13 0 13  , x = x3  =  13 , y cB = −4 .
       
3 
0 1 1 x5 6 0

AS
Analizando si es posible mejor el valor de la función objetivo:

z2 − c2 = cTB B −1 a2 − c2 = −4,

IC
z4 − c4 = cTB B −1 a4 − c4 = −1,

S
z6 − c6 = cTB B −1 a6 − c6 = −2.

AS FÍ
Desde que zi − ci < 0 para i ∈ {2, 4, 6} el valor óptimo es z = −17 y corresponde a

IC AS
la solución básica factible xT = [ 31 , 0, 13
3
, 0, 6, 0].

1.3
ÁT CI
Minimización de funciones supermodulares
EM IEN

Existen muchos problemas reales de optimización que tienen una formulación


como problemas de optimización combinatoria para los cuales encontrar una solución
óptima al problema se puede tornar difı́cil de resolver debido al tamaño de la región
AT C

factible. En está sección vamos a estudiar la clase de problemas donde la función ob-
jetivo está definida sobre un conjunto potencia de un conjunto arbitrario y satisface
M DE

la propiedad (1.15), especı́ficamente el método de cálculos sucesivos propuesto por


V. Cherenin y desarrollado posteriormente por V. Khachaturov, este método con-
siste en una técnica de descarte en la región factible. Para un estudio más detallado
CA

ver [1, 3, 9, 18, 22, 24] y para una versión análoga de este método en reticulados ver
[2, 27]. Para un estudio más general de optimización de funciones satisfaciendo la
TE

condición (1.15) ver [17, 32].


Y
IO

Consideremos un conjunto finito I = {1, 2, . . . , m} y Ω el conjunto potencia de


I, es decir, 2I .
BL

Definición 1.5 Sea f : Ω → R una función real. Decimos que f es una función
supermodular si para cada ω1 , ω2 ∈ Ω tenemos
BI

f (ω1 ) + f (ω2 ) ≤ f (ω1 ∪ ω2 ) + f (ω1 ∩ ω2 ) (1.15)

y es una función submodular si

f (ω1 ) + f (ω2 ) ≥ f (ω1 ∪ ω2 ) + f (ω1 ∩ ω2 ).

14
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Lema 1.1 Sean f1 , f2 , . . . , fn : Ω → R funciones supermodulares, para n ≥ 2.


n
X
Entonces la función fi es supermodular.
i=1

Demostración. La prueba es directa usando la definición de supermodularidad,


esto es, (1.15). 

AS
Para la función supermodular f considérese el siguiente problema: Determinar

IC
α ∈ Ω tal que
f (α) = min f (w).
ω∈Ω

S
Es fácil ver que ese problema equivale a un problema de maximización cuando la

AS FÍ
función f es submodular. Además |Ω| = 2m , ası́ para un valor de m grande el número
de elementos en la región factible es muy grande.

IC AS
El problema de ubicación simple de una planta, problemas de transporte genera-
lizados, el problema de corte máximo y otros problemas que implican la minimización
ÁT CI
de las funciones booleanas son algunos problemas de optimización combinatoria cuya
función objetivo es supermodular.
EM IEN

1.3.1 Método de cálculos sucesivos


Debido al gran número de elementos en la región factible, |Ω| = 2m , es importante
AT C

la creación e implementación de métodos de solución para abordar los problemas


M DE

de optimización de funciones supermodulares, los cuales pertenecen a la clase de


problemas NP-Hard. Un método original e interesante para abordar esos problemas
fue propuesto por V. Cherenin en [9] y lleva el nombre de método de cálculos suce-
CA

sivos, este consiste en la utilización de una serie de principios que descarta parte de
elementos en la región factible. El desarrollo inicial de este método y sus aplicaciones
TE

data de 1948 en la elaboración de un plano para la formación de trenes, ver [12].


Y

Los fundamentos del método de cálculos sucesivos son dados por el siguiente
teorema:
IO

Teorema 1.6 (V. Cherenin, [9]) Sean f : Ω → R una función satisfaciendo la


BL

condición (1.15) y α ∈ Ω el punto donde alcanza su mı́nimo. Para cualquier se-


cuencia finita {ωi }ni=1 ⊂ Ω que contiene al elemento α tal que ωi ⊂ ωi+1 tenemos
BI

que la función f disminuye monótonamente en ω1 ⊂ ω2 ⊂ . . . ⊂ α y aumenta


monótonamente en α ⊂ . . . ωn−1 ⊂ ωn .

El particular comportamiento de la función establecida por el teorema anterior


permite descartar una serie de conjuntos de una sola vez como lo muestran los
siguientes corolarios conocidos como principios de descarte.

15
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Corolario 1.4 (Primer principio de descarte.) Sean f : Ω → R una función


supermodular y ω1 , ω2 ∈ Ω tal que ω1 ⊂ w2 y f (ω1 ) < f (ω2 ) entonces α 6⊃ ω2 .

Demostración. Para una prueba ver la Proposición 2.2. 

El corolario anterior garantiza que se pueden descartar los elementos ω ∈ Ω

AS
tal que ω ⊃ ω2 pues en este caso f (ω) > f (α). Note que en este caso estamos
descartando 2m−|ω2 | elementos de Ω.

IC
Corolario 1.5 (Segundo principio de descarte.) Sean f : Ω → R una función

S
supermodular y ω1 , ω2 ∈ Ω tal que ω1 ⊂ w2 y f (ω1 ) > f (ω2 ) entonces α 6⊂ ω1 .

AS FÍ
Demostración. Para una prueba ver la Proposición 2.3. 

IC AS
El corolario anterior garantiza que se pueden descartar los elementos ω ∈ Ω
tal que ω ⊂ ω1 pues en este caso f (ω) > f (α). Note que en este caso estamos
ÁT CI
descartando 2|ω1 | elementos de Ω.
EM IEN

Ejemplo 1.3 Consideremos ω1 , ω2 ∈ Ω tal que ω1 = ∅ y |ω2 | = 1 y supongamos


que para estos elementos f (ω1 ) < f (ω2 ). Luego por el primer principio de descarte,
Corolario 1.4, descartamos todos los 2m−1 elementos ω ⊃ ω2 , esto es la mitad del
AT C

número total.

Motivado por los dos principios de descarte citados anteriormente V. Khachaturov


M DE

en [22, 24] propone un tercer principio el cual es presentado en el Teorema 1.7 y


desarrollamos a continuación.
Consideremos ω1 , ω2 ∈ Ω tal que ω1 ⊂ ω2 . Sea α0 ∈ Ω tal que ω1 ⊂ α0 ⊂ ω2 y
CA

f (α0 ) = min f (ω). (1.16)


ω1 ⊂ω⊂ω2
TE
Y

Definamos:
IO

X
L1 (ω1 , ω2 ) := f (ω1 ) − [f (ω1 ) − f (ω1 ∪ {i})], (1.17)
i∈(α0 \ω1 )∪γ
BL

X
L2 (ω1 , ω2 ) := f (ω2 ) − [f (ω2 ) − f (ω2 \ {i})], (1.18)
i∈(ω2 \α0 )∪τ
BI

donde

γ := {i ∈ ω2 \α0 | f (ω1 )−f (ω1 ∪{i}) ≥ 0} y τ := {i ∈ α0 \ω1 | f (ω2 )−f (ω2 ∪{i}) ≥ 0}.

Lema 1.2 Sean f : Ω → R una función supermodular, ω1 , ω2 ∈ Ω tal que ω1 ⊂ ω2


y α0 ∈ Ω satisfaciendo (1.16). Entonces L1 (ω1 , ω2 ) ≤ f (α0 ) y L2 (ω1 , ω2 ) ≤ f (α0 ).

16
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Demostración. Desarrollando L1 (ω1 , ω2 ). Sea α0 \ ω1 = {i1 , i2 , . . . , in }, usando la


propiedad de supermodularidad tenemos:

f (ω1 ∪ {i1 }) + f (ω1 ∪ {i2 }) ≤ f (ω1 ) + f (ω1 ∪ {i1 ∪ i2 })


f (ω1 ∪ {i1 ∪ i2 }) + f (ω1 ∪ {i3 }) ≤ f (ω1 ) + f (ω1 ∪ {i1 ∪ i2 ∪ i3 })

AS
f (ω1 ∪ {i1 ∪ i2 ∪ i3 }) + f (ω1 ∪ {i4 }) ≤ f (ω1 ) + f (ω1 ∪ {i1 ∪ i2 ∪ i3 ∪ i4 })
.. ..
. .

IC
f (ω1 ∪ {i1 ∪ · · · ∪ in−1 }) + f (ω1 ∪ {in }) ≤ f (ω1 ) + f (α0 ).

S
Sumando las desigualdades obtenemos:

AS FÍ
X
f (ω1 ∪ {i}) ≤ (n − 1)f (ω1 ) + f (α0 )
i∈α0 \ω1

IC AS
X
f (ω1 ) − [f (ω1 ) − f (ω1 ∪ {i})] ≤ f (α0 )
i∈α0 \ω1
X
ÁT CI
f (ω1 ) − [f (ω1 ) − f (ω1 ∪ {i})] ≤ f (α0 ).
i∈(α0 \ω1 )∪γ
EM IEN

Portanto f1 (α0 ) ≤ f (α0 ).


Análogamente desarrollando L2 (ω1 , ω2 ). Sea ω2 \ α0 = {i1 , i2 , . . . , in }, usando la
propiedad de supermodularidad varias veces
AT C

f (ω2 \ in ) + f (ω2 \ in−1 ) ≤ f (ω2 ) + f (ω2 \ {in ∪ in−1 })


M DE

f (ω2 \ {in ∪ in−1 }) + f (ω2 \ in−2 ) ≤ f (ω2 ) + f (ω2 \ {in ∪ · · · ∪ in−2 })


f (ω2 \ {in ∪ · · · ∪ in−2 }) + f (ω2 \ in−3 ) ≤ f (ω2 ) + f (ω2 \ {in ∪ · · · ∪ in−3 })
.. ..
. .
CA

f (ω2 \ {in ∪ · · · ∪ i2 }) + f (ω2 \ i1 ) ≤ f (ω2 ) + f (α0 ).

Sumando las desigualdades obtenemos:


TE
Y

X
f (ω2 \ {i}) ≤ (n − 1)f (ω2 ) + f (α0 )
IO

i∈ω2 \α0
X
f (ω2 ) − [f (ω2 ) − f (ω2 \ {i})] ≤ f (α0 )
BL

i∈ω2 \α0
X
f (ω2 ) − [f (ω2 ) − f (ω2 \ {i})] ≤ f (α0 ).
BI

i∈(ω2 \α0 )∪τ

Portanto L2 (ω1 , ω2 ) ≤ f (α0 ). 

Teorema 1.7 (Tercer principio de descarte.) Sean f : Ω → R una función


supermodular, ω1 , ω2 ∈ Ω tal que ω1 ⊂ ω2 y consideremos α e una solución tem-
poralmente óptima. Si L1 (ω1 , ω2 ) > f (e
α) ó L2 (ω1 , ω2 ) > f (e
α) entonces para cada
ω1 ⊂ w ⊂ ω2 tenemos f (ω) > f (α).

17
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Demostración. Para una prueba ver la Proposición 2.4. 

El teorema anterior garantiza que es posible descartar los elementos ω ∈ Ω tal que
ω1 ⊂ w ⊂ ω2 , pues en este caso f (ω) > f (α). De esta manera estamos descartando
2|ω2 \ω1 | elementos de Ω.

AS
1.4 Optimización dinámica

IC
Una gran cantidad de problemas pueden modelarse mediante técnicas de op-

S
timización estática, los cuales la variable temporal no es relevante. Sin embargo

AS FÍ
existen problemas que toman cuenta el efecto futuro de las decisiones presentes.
Esos tipos de problemas son abordados por la optimización dinámica que busca dar

IC AS
solución a problemas dinámicos que precisan una planificación óptima a lo largo de
un horizonte temporal dado. No se pretende encontrar el óptimo en un instante del
tiempo dado sino la trayectoria de decisiones óptimas que a lo largo de un determi-
ÁT CI
nado horizonte temporal, maximiza (minimiza) una función objetivo de acuerdo a
un objetivo previamente fijado. Para más detalles ver [5, 7, 29].
EM IEN

En los problemas de optimización estática el objetivo consistı́a en determinar el


AT C

o los valores de una o más variables que maximizaban (minimizaban) una función
objetivo en un determinado momento del tiempo. En la optimización dinámica, en
M DE

cambio, se trata de resolver una sucesión (finita o infinita) o un continuo de prob-


lemas de optimización estática pero con la gran diferencia de que estos problemas
no pueden resolverse por separado y de manera independiente por las siguientes dos
CA

razones:

• La función objetivo no depende de valores independientes de las variables en


TE

cada momento del tiempo sino que están interrelacionadas en la forma que
Y

aportan valor al funcional objetivo de tal manera que lo óptimo se define en


IO

términos de óptimo para todo el horizonte de análisis y no en cada instante.

• La sucesión de problemas y de las variables de control3 , se hallan interconec-


BL

tadas en el horizonte de tiempo por las variables de estado. Estas variables de-
scriben en cada instante de tiempo la evolución del sistema y dicha evolución
BI

es influenciada por las variables de control.

El objetivo en optimización dinámica consiste en determinar un continuo o una


secuencia, finita o infinita, de variables de modo tal que maximizen (minimizen)
3
Las variables de control son análogas a las variables de decisión en el problema de optimización
estática y a diferencia de tal problema, estas variables no sólo influyen en la función objetivo sino
que también influyen en la evolución dinámica del sistema.

18
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

un funcional objetivo. En cuanto a su tratamiento matemático, los problemas de


optimización dinámica pueden resolverse por medio de algunas de las siguientes
técnicas:

i.) Cálculo de Variaciones: Consiste en encontrar funciones, definidas sobre


algún espacio funcional, que maximizen o minimicen una funcional lineal. Uno

AS
de los trabajos pioneros en este campo es el de Johann Bernoulli quien resolvió
el problema de la braquistócrona4 en 1696. Para revisar la evolución histórica

IC
del cálculo de variaciones se recomienda ver [25, 26].

S
ii.) Control Óptimo: Es una generalización del cálculo de variaciones. En el

AS FÍ
aparecen variables de estado sobre las que el sujeto decisor no puede influir
directamente sino sólo a través de otras variables, llamadas de control, que son
las variables de decisión. Ambos tipos de variables son funciones del tiempo,

IC AS
pero mientras las variables de control toman valores dictados por la decisión del
sujeto decisor, las variables de estado siguen unas sendas temporales dictadas
ÁT CI
por un sistema dinámico en cuya expresión intervienen las variables de control.
Como en todo problema se debe encontrar los mejores valores que puede asig-
EM IEN

nar a las variables de decisión para optimizar algún funcional objetivo. Una
de las herramientas utilizadas en este método es el principio del máximo de
Pontryagin dado por el matemático ruso L. Pontryagin y sus colaboradores en
AT C

[29].
M DE

iii.) Programación Dinámica: Fue desarrollada por Richard Bellamn especial-


mente para la resolución de problemas en procesos de decisión en múltiples
etapas. La Ecuación funcional que se obtiene, para cada problema, a través
CA

del uso del Principio de Optimalidad de Bellman permite establecer una re-
currencia que es, en sı́ misma, un algoritmo que resuelve el problema. Para un
TE

estudio detallado ver [5].


Y

Si bien las tres técnicas permiten abordar problemas en tiempo discreto y con-
IO

tinuo, los métodos i) y ii) se utilizan generalmente para el tiempo continuo y


BL

iii) para el tiempo discreto. Um problema de optimización dinámica se representa


matemáticamente mediante un sistema de ecuaciones diferenciales en caso de tiempo
continuo o en diferencias en el caso de tiempo discreto.
BI

En la siguiente subsección desarrollamos brevemente la Programación Dinámica


poniendo énfasis en el problema de asignación de recursos.
4
Determinar la trayectoria más rápida de un pequeño objeto entre dos puntos, bajo la influencia
de la gravedad.

19
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

1.4.1 Programación dinámica


La programación dinámica consiste en una técnica que permite determinar de
manera eficiente las decisiones que optimizan el comportamiento de un sistema que
evoluciona a lo largo de una serie de etapas. En otras palabras, trata de encontrar la
secuencia de decisiones que optimizan el comportamiento de un proceso polietápico,

AS
determinando ası́ la solución óptima de un problema de n variables descomponien-
dola en n etapas, con cada etapa incluyendo un subproblema de una sola variable,

IC
la ventaja en el aspecto de los cálculos es que optimizaremos una sola variable, en
vez de subproblemas de n variables. Para más detalles ver [5].

S
AS FÍ
La solución de problemas mediante esta técnica se basa en el llamado principio
de optimalidad enunciado por Richard Bellman en 1957 [5] que dice:

IC AS
“Una polı́tica óptima tiene la propiedad de que cualquiera que sea el estado inicial
y la decisión inicial, las decisiones restantes deben constituir una polı́tica óptima
ÁT CI
con respecto al estado resultante de la primera decisión”.
EM IEN

Los cálculos en programación dinámica se hacen recursivamente, en el sentido


de que la solución óptima de un subproblema se utiliza como una entrada para el
siguiente subproblema. Para el momento en que resolvamos el último subproblema,
AT C

tendremos la solución óptima para todo el problema. La forma en la cual se hacen


los cálculos recursivos depende de la forma en la cual descomponemos el problema
M DE

original.
Los siguientes problemas se pueden resolver con programación dinámica:
CA

• Problema de la ruta más corta.

• Problema del volumen-carga “Mochila”.


TE
Y

• Problema del número de empleados.


IO

• Problema de reemplazo de equipos.


BL

• Problema de asignación de recursos.

En la siguiente subsección presentamos el problema de asignación de recursos asi


BI

como su formulación mediante programación dinámica para resolver dicho problema.

1.4.2 Problema de asignación de recursos


Supongamos que contamos con una cierta cantidad limita b ∈ N de un deter-
minado recurso, sea este dinero, máquinas, agua, combustible o materia prima de
cualquier tipo, además este recurso puede ser utilizado para diferentes actividades.

20
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Para fijar ideas sea N el número de estas actividades. A cada actividad 1 ≤ i ≤ N


se le puede asignar un recurso xi ≤ b, donde xi ≥ 0 es entero, obteniendose ası́
un retorno gi (xi ) por la asignación del recurso xi , para fijar ideas consideremos que
gi (xi ) representa la cantidad de dinero que se obtiene al asignar una cantidad de
recurso xi a la actividad i. Notemos que cada retorno depende tanto de la actividad

AS
como de la cantidad de recurso asignada en ella. Se desea maximizar el retorno total
al asignar el recurso a las N actividades.
El problema se puede plantear de la siguiente manera:

IC
N
X

S
Maximizar: ϕ(x1 , x2 , . . . , xn ) = gi (xi )

AS FÍ
i=1
N
X
s.a. xi ≤ b (1.19)

IC AS
i=1
gi (0) = 0, y xi ≥ 0, entero para i ∈ {1, . . . , N }.
ÁT CI
Formulación con programación dinámica
EM IEN

Ahora analizaremos el Problema (1.19). Si bien la variable tiempo no aparece en


el problema, resulta más o menos sencillo encararlo de manera secuencial usando el
principio de optimalidad de Bellman. Supongamos que se asigna x1 a la actividad
AT C

1, luego una cantidad x2 a la actividad 2, y ası́ sucesivamente. Al comenzar la


asignación, es decir, en el momento de decidir el valor x1 , estamos limitados por
M DE

las restricciones 0 ≤ x1 ≤ b. Una vez fijado x1 la cantidad de recurso disponible


con lo que contamos habrá disminuido a b − x1 , por lo que las restricciones para
determinar x2 serán 0 ≤ x2 ≤ b − x1 . Siguiendo este razonamiento, cuando se hayan
CA

determinado los valores x1 , x2 , . . . , xk−1 , las restricciones para determinar xk serán


0 ≤ xk ≤ b − (x1 + x2 + . . . + xk−1 ).
TE

Sea
Y

k
X
ϕ(x1 , x2 , . . . , xk ) := g(xi ),
IO

i=1

para k = 1, 2, . . . , N . Para cada 1 ≤ k ≤ N y 0 ≤ ξ ≤ b enteros, definamos:


BL

fk (ξ) := max ϕ(x1 , . . . , xk ), (1.20)


x1 ,...,xk
BI

k
X
s.a. xi ≤ ξ,
i=1

donde la función fk (ξ) representa el retorno óptimo luego de k actividades con una
cantidad de recursos de ξ unidades. Obviamente

fk (0) = 0, k = 0, 1, . . . , N (1.21)

21
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

siempre que gi (0) = 0 para cada i = 1, . . . , N . También es obvio que

f0 (ξ) = 0, ξ = 0, 1, . . . , b, (1.22)

las condiciones (1.21) y (1.22) son llamadas condiciones de frontera.


Fijemos una cantidad de recurso ξ ∈ {1, 2, . . . , b} y una actividad k ∈ {2, . . . , N }.

AS
Escojamos una cantidad de recurso xk para la actividad k, desde que el retorno
óptimo para la actividad k − 1 en una cantidad de recurso ξ − xk , esta definida

IC
por, fk−1 (ξ − xk ), vemos que el retorno total después de asignar inicialmente xk a la
actividad k es

S
gk (xk ) + fk−1 (ξ − xk ).

AS FÍ
Por el principio de optimalidad tenemos que dada una secuencia óptima de deci-
siones, toda subsecuencia de ella es, a su vez, óptima. Portanto

IC AS
 
fk (ξ) = max gk (xk ) + fk−1 (ξ − xk ) (1.23)
ÁT CI 0≤xk ≤ξ

para k = 2, 3, . . . , N y ξ = 1, 2, . . . , b.
EM IEN

Con ayuda de las condiciones de frontera (1.21), (1.22) podemos obtener los
valores de fk (ξ) para k = 1, 2, . . . , N y ξ = 1, 2, . . . , b mediante la ecuación recursiva
(1.23). Portanto obtenemos el valor fN (b) y la asignación óptima dando solución al
AT C

problema. A seguir presentamos un ejemplo para que quede más claro el algoritmo
de Bellman.
M DE

Ejemplo 1.4 Consideremos el problema de asignación de recursos, con una canti-


dad de recursos de b = 9 unidades para N = 4 actividades. Las correspondientes
CA

funciones de retorno para cada actividad son:

g1 (x) = −x2 + 10x, g2 (x) = x + 15, g3 (x) = x2 − 4x y g4 (x) = 4x − 5,


TE
Y

donde gi (0) = 0 para cada i = 1, 2, 3, 4. Determinar la asignación óptima, mediante


IO

el algoritmo de Bellman.

Solución: Haciendo uso de las condiciones de frontera (1.21), (1.22) se encuentra los
BL

valores de  
fk (ξ) = max gk (xk ) + fk−1 (ξ − xk ) ,
BI

0≤xk ≤ξ

para los diferentes valores de 1 ≤ k ≤ 4 y 1 ≤ ξ ≤ 9. Estos valores serán exhibidos


en la Tabla 1.1.

22
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

ξ x1 (ξ) f1 (ξ) x2 (ξ) f2 (ξ) x3 (ξ) f3 (ξ) x4 (ξ) f4 (ξ)


0 0 0 0 0 0 0 0 0
1 1 9 1 16 0 16 0 16
2 2 16 1 25 0 25 0 25
3 3 21 1 32 0 32 0 32

AS
4 4 24 1 37 0 37 0 37
5 5 25 1 40 0 40 0 40

IC
6 5 25 2 41 0 41 0 41
7 5 25 3 42 0 42 3 44

S
8 5 25 4 43 0 43 4 48

AS FÍ
9 5 25 5 44 8 48 5 52
Tabla 1.1: Tabla del algoritmo de Bellman.

IC AS
De la Tabla 1.1 tenemos que el retorno óptimo, f4 (9), es de 52 y se obtiene con
ÁT CI
una asignación de recursos de x4 (9) = 5 unidades a la cuarta actividad. Para las
tres actividades restantes se tiene un recurso de ξ = 4 y el retorno óptimo con este
EM IEN

recurso es f3 (4) = 37 con una asignación de recurso de x3 (4) = 0 unidades a la


tercera actividad. Para las dos actividades restantes se tiene un recurso de ξ = 4
y el retorno óptimo con este recurso es f2 (4) = 37 con una asignación de recurso
AT C

de x2 (4) = 1 unidades a la segunda actividad. Para la primera actividad se cuenta


con un recurso de ξ = 3 y el retorno óptimo con este recurso es f1 (3) = 21 con
M DE

una asignación de recurso de x1 (3) = 3 unidades a la primera actividad. Portanto


el retorno óptimo se obtiene con una asignación de recurso de x1 = 3 unidades a
CA

la primera actividad, x2 = 1 unidad a la segunda actividad, x3 = 0 unidades a la


tercera actividad y x4 = 5 unidades a la cuarta actividad.
TE

Observación 1.3 Notemos que en el problema de asignación de recursos el retorno


Y

total óptimo puede ser alcanzado por diferentes asignaciones es decir la solución
IO

puede no ser única. En la Sección 2.3.3 se presenta la implementación en lenguaje


de programación C++ del algoritmo de Bellman, ver Algoritmo 2.1. Esta imple-
BL

mentación encuentra todas las asignaciones posibles que optimizan el valor de la


función de retorno.
BI

23
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Capı́tulo 2

AS
IC
Método aproximante-combinatorio

S
y su uso en la solución de

AS FÍ
problemas de programación

IC AS
matemática ÁT CI
EM IEN

El presente capı́tulo representa la parte central de este trabajo. Aquı́ presentare-


mos el método combinatorio-aproximante desarrollado por V. Khachaturov [23] para
AT C

resolver problemas de optimización combinatoria, una aplicación de este método será


presentada en el Capı́tulo 3.
M DE

2.1 Definiciones y planteamiento del problema


CA

En la actualidad no existe una única definición del concepto de sistema que sea
universalmente aceptada. Antes de dar la definición de sistema, que se utilizará más
TE
Y

adelante, consideremos lo siguiente: asumiremos que los sistemas están conforma-


dos por elementos, los que por su naturaleza son, en algún sentido completamente
IO

definidos, “homogéneos”; es decir presentan un sentido fı́sico, técnico, económico,


o cualquier otro sentido concreto. Por ejemplo, estos pueden ser proyectos, planes,
BL

construcciones, especies biológicas, etc. La asignación de un sentido concreto, deter-


minado, a los elementos de un sistema es posible si a cada uno de ellos se le describe
BI

con una misma colección ordenada de ı́ndices.


Denotaremos por ω a un elemento arbitrario del sistema. Sea que la descripción
del elemento ω se realiza por medio de un conjunto finito I := {1, 2, . . . , m} de
ı́ndices. Denotaremos por ωi el valor de ω correspondiente al ı́ndice i. Por analogı́a
con los vectores llamaremos a las ωi “coordenadas” (o componentes) de ω.
Se considera que cada componente ωi tiene un sentido completamente definido,

24
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

inherente sólo a él, determinado por el número de orden del ı́ndice i ∈ I. Este
planteamiento permite que los ωi para diferentes i ∈ I puedan tener entre sı́ dife-
rentes unidades de medida, en particular, ser adimensionales.
Consideremos el sistema Ω, es decir, Ω ⊂ Rm para algún m ∈ N tal que |Ω| < +∞
y f : Ω → R una función definida en Ω.

AS
Nuestro problema consiste en el estudio del sistema Ω, esto es: Determinar tal
elemento
α∈Ω

IC
(2.1)
f (α) = min f (ω),
ω∈Ω

S
o determinar una solución aproximada. Analogamente para el caso de maximización.

AS FÍ
Definición 2.1 Se dice que el sistema Ω está estudiado si se ha determinado α,
parcialmente estudiado si se ha determinado un conjunto Ω0 tal que α ∈ Ω0 , Ω0 ⊂ Ω,

IC AS
Ω0 6= Ω; no estudiado si Ω0 = Ω

En la formulación (2.1), no se contempla el problema de la existencia de la


ÁT CI
solución óptima, bastará con tomar cada uno de los elementos ω ∈ Ω y evaluarla
en la función f lo que es teóricamente posible ya que el número de elementos en Ω
EM IEN

es finito. Ahora si el número de elementos de Ω es grande necesitamos elaborar un


método combinatorio que evite la revisión completa de los ω ∈ Ω. En este trabajo
AT C

proponemos el método combinatorio-aproximante desarrollado por V. Khachaturov


[22, 23, 24] para estudiar el sistema Ω.
M DE

2.2 Descripción del método combinatorio-aproximante


CA

Definición 2.2 Una función real P : Ω → R es llamada función aproximante


de la función f si:
TE
Y

1.)
P (α) ≤ f (α) (2.2)
IO

2.) Para la función P se cuenta con métodos y algoritmos efectivos para determi-
BL

nar no sólo α0 ∈ Ω tal que

P (α0 ) = min P (ω) (2.3)


BI

ω∈Ω

sino todo elemento ω ∈ Ω con valor P (ω) que no difiera de P (α0 ) en más que
una magnitud R ≥ 0. En otras palabras, es posible determinar el subconjunto
Ω0 ⊂ Ω tal que

P (α0 ) ≤ P (ω) ≤ P (α0 ) + R, ω ∈ Ω0 , (2.4)


P (ω) > P (α0 ) + R, ω ∈ Ω \ Ω0 . (2.5)

25
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Por métodos y algoritmos efectivos debe entenderse, por aquellos métodos y algorit-
mos que resuelven problemas prácticos en un tiempo admisible.

Describamos las etapas del método combinatorio-aproximante para la solución


del Problema (2.1):

AS
1.) En el conjunto Ω se define una función aproximante P para f .

2.) Se elige un número C tal que P (α0 ) ≤ C.

IC
3.) Se determina el subconjunto Ω0 ⊂ Ω que satisface (2.4), (2.5) para

S
P (α0 ) + R = C. (2.6)

AS FÍ
e ∈ Ω0 tal que
4.) Se determina un elemento α

IC AS
f (e
α) = min f (ω), (2.7)
ω∈Ω0
ÁT CI
se toman a α
e y f (e
α) en calidad de solución.
EM IEN

A seguir mostraremos una serie de criterios y resultados que nos permitirán


e ∈ Ω0 .
estudiar el Problema original (2.1) a partir del elemento α
AT C

Teorema 2.1 (Criterio de Optimización 1) Si


M DE

α) ≤ C
f (e (2.8)

entonces
CA

α
e = α, f (e
α) = f (α). (2.9)

Demostración. Para probar el criterio de optimización probaremos que α ∈ Ω0 .


TE

Utilizando sucesivamente (2.6), (2.8), (2.1), (2.2), (2.3) obtenemos


Y

P (α0 ) + R = C ≥ f (e
α) ≥ f (α) ≥ P (α) ≥ P (α0 )
IO

entonces α ∈ Ω0 . De (2.7) y (2.1) obtenemos f (e


α) = f (α) esto es lo que se querı́a
BL

demostrar. 
BI

Proposición 2.1 (Solución Aproximada.) Si

f (e
α) > C (2.10)

entonces
C < f (α) ≤ f (e
α). (2.11)

26
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Demostración. La parte de la derecha de la desigualdad (2.11) se sigue de (2.1).


La parte izquierda la demostraremos por contradicción. Supongamos que C ≥ f (α),
entonces
P (α0 ) + R = C ≥ f (α) ≥ P (α) ≥ P (α0 ) (2.12)
de esta manera, α ∈ Ω0 con lo cual f (α) = f (e
α) ≤ C, lo que contradice a (2.10).

AS
Por lo tanto C < f (α). 

Corolario 2.1 Si a priori, de alguna manera, se determina una cota superior C

IC
para {f (ω)| ω ∈ Ω}, tomando C = C se tendrá f (e
α) = f (α).

S
Demostración. En efecto:

AS FÍ
P (α0 ) + R = C = C ≥ f (ω) ≥ f (α) ≥ P (α) ≥ P (α0 )

IC AS
entonces α ∈ Ω0 y f (e
α) = f (α). 
ÁT CI
Observando (2.6), (2.4) y (2.5) se tiene que Ω0 depende del valor C, es decir,
Ω0 = Ω0 (C) entonces tiene lugar.
EM IEN

Corolario 2.2 Si C 1 < C 2 , entonces Ω0 (C 1 ) ⊂ Ω0 (C 2 ) y |Ω0 (C 1 )| ≤ |Ω0 (C 2 )|

Demostración. En efecto, para cada ω ∈ Ω0 (C 1 ) se cumplen las desigualdades


AT C

P (α0 ) ≤ P (ω) ≤ P (α0 ) + R = C 1


M DE

además C 1 < C 2 entonces ω ∈ Ω0 (C 2 ). 


CA


Denotemos Ω00 := ω ∈ Ω| f (ω) ≤ C .

Corolario 2.3 Si f (ω) ≥ P (ω) para todo ω ∈ Ω, entonces Ω00 ⊂ Ω0


TE
Y

Demostración. En efecto, para cada ω ∈ Ω00 tenemos que:


IO

P (α0 ) + R = C ≥ f (ω) ≥ P (ω) ≥ P (α0 ),


BL

entonces ω ∈ Ω0 . Por lo tanto Ω00 ⊂ Ω0 . 


BI

Teorema 2.2 (Criterio de Optimización 2.) Sea 0 ≤ r ≤ f (α) − P (α). Si


α) ≤ C + r, entonces
f (e
α
e = α y f (eα) = f (α).

27
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Demostración. Notemos que es suficiente probar que α ∈ Ω0 . Esto se sigue de las


desigualdades.

α) − r ≤ C + r − r = C
P (α0 ) ≤ P (α) ≤ f (α) − r ≤ f (e

y de la definición de subconjunto Ω0 . 

AS
Notemos que el Criterio de optimización 1 se obtiene del Criterio de optimización
2 para r = 0. Además del teorema anterior tenemos que f (e α) ≤ C+r,
α) = f (α), si f (e

IC
tomando C como C − r tenemos que el criterio se sigue cumpliendo y asimismo dis-

S
minuir el número de elementos en el conjunto Ω0 (ver Corolario 2.2).

AS FÍ
Supongamos que se tienen n ∈ N funciones aproximantes P 1 , P 2 , . . . , P n . Por
definición, para cada i = 1, 2, . . . , n se cumple por (2.2):

IC AS
f (α) ≥ P i (α).
ÁT CI
Para cada una de estas funciones aproximantes puede hallarse el elemento óptimo
α0i ∈ Ω tal que
EM IEN

P i (α0i ) = min P i (ω),


ω∈Ω
i i
y el subconjunto Ωi0 ⊂ Ω, definido para cada C ≥ P i (α0i ), en el cual C = P i (α0i ) +
AT C

Ri .
Escojamos algún número C f tal que
M DE

C f ≥ max P i (α0i ), (2.13)


1≤i≤n
CA

i
y C = C f , para cada i = 1, . . . , n. Luego encontremos los conjuntos Ωi0 ⊂ Ω para
cada i = 1, . . . , n. Consideremos que f (e
α) se cálcula por la fórmula:
TE
Y

f (e
α) = min i f (ω).
ω∈ n
T
i=1 Ω0
IO

A seguir extenderemos el Teorema 2.8 y la Proposición 2.10 para el caso de una


familia de funciones aproximantes:
BL

Corolario 2.4 Si
α) ≤ C f
f (e (2.14)
BI

entonces
α
e = α, f (e
α) = f (α). (2.15)
Tn
Demostración. La prueba es análoga, mostraremos que α ∈ i=1 Ωi0 . Utilizando
sucesivamente (2.6), (2.8), (2.1), (2.2), (2.3) obtenemos

P i (α0i ) + Ri = C f ≥ f (e
α) ≥ f (α) ≥ P i (α) ≥ P i (α0i )

28
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

entonces α ∈ ni=1 Ωi0 . De (2.7) y (2.1) obtenemos f (e


T
α) = f (α) esto es lo que se
querı́a demostrar. 

Corolario 2.5 Si
f (e
α) > C f (2.16)

AS
entonces
C f < f (α) ≤ f (e
α). (2.17)

IC
Demostración. Demostraremos la parte de la izquierda por contradicción. Supong-
amos que C f ≥ f (α), entonces

S
P i (α0i ) + Ri = C f ≥ f (α) ≥ P i (α) ≥ P i (α0i ) (2.18)

AS FÍ
de esta manera, α ∈ ni=1 Ωi0 con lo cual f (α) = f (e
T
α) ≤ C f , lo que contradice a

IC AS
(2.16). Por lo tanto C f < f (α). 
A seguir tenemos algunos resultados que muestran condiciones suficientes para
que α ∈ ni=1 Ωi0 . ÁT CI
T

Teorema 2.3 Si C f ≥ max P i (α), entonces α pertenece a cada Ωi0 , i = 1, 2, . . . , n,


EM IEN

i
n
\
es decir α ∈ Ωi0 y f (α) = f (e
α).
i=1
AT C

Demostración. Notemos que esto se sigue de las desigualdades


M DE

P i (α0i ) + Ri = C f ≥ max P i (α) ≥ P i (α) ≥ P i (α0i )


i

n
\
validas para cada i = 1, . . . , n es decir α ∈ Ωi0 ∀ i = 1, . . . , n entonces α ∈ Ωi0 . 
CA

i=1

n
\
Ωi0 y f (e
TE

Corolario 2.6 Si C f ≥ f (α), entonces α ∈ α) = f (α).


Y

i=1

Demostración. Notemos que


IO

C f ≥ f (α) ≥ P i (α) ∀ i = 1, 2 . . . , n,
BL

luego por el Teorema 2.3 tenemos que


n
BI

\
α∈ Ωi0 .
i=1

Corolario 2.7 Si C f ≥ f (α) y f (ω) ≥ P i (ω) para todo ω ∈ Ω e i = 1, 2, . . . , n,


n
\
entonces Ω00 ⊂ Ωi0 .
i=1

29
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Demostración. Del Corolario 2.3 tenemos que Ω00 ⊂ Ωi0 para todo i = 1, 2, . . . , n,
entonces n
\
0
Ω0 ⊂ Ωi0 .
i=1


AS
Corolario 2.8 Si C f ≥ f (α) y f (ω) ≥ P 1 (ω) ≥ . . . ≥ P n (ω) para todo ω ∈ Ω,
entonces Ω00 ⊂ Ω10 ⊂ . . . ⊂ Ωn0 y f (e
α) = f (α).

IC
Demostración. Del Corolario 2.7 tenemos que Ω00 ⊂ Ω10 .
Sea P i (ω) ≥ P j (ω) y ω ∈ Ωi0 arbitrario entonces

S
AS FÍ
P i (α0i ) + Ri = C f ≥ P i (ω) ≥ P j (ω) ≥ P j (α0j )

entonces ω ∈ Ωj0 y de ello Ωi0 ⊂ Ωj0 con lo cual tenemos que Ω10 ⊂ Ω20 ⊂ . . . ⊂ Ωn0 y

IC AS
del Corolario 2.7 tenemos f (eα) = f (α). 
ÁT CI
La efectividad del método combinatorio-aproximante se determina por la canti-
dad de elementos del conjunto Ω0 el cual debe ser sustancialmente menor que |Ω|.
EM IEN

El caso más desfavorable es cuando |Ω0 | = |Ω|, pues en este caso el problema no se
ha simplificado. Del Corolario 2.2 tenemos que |Ω0 | depende del valor de C y para
C ≥ max P (ω), |Ω0 | alcanza su máximo valor, es decir, |Ω0 | = |Ω|. De esta manera,
AT C

ω∈Ω
la disminución del número de elementos en Ω0 puede lograrse si ya se cuenta con una
M DE

familia de funciones aproximantes, ya que en este caso ni=1 Ωi0 tiene una cantidad
T

de elementos menor a Ω0 y es posible aplicar el criterio de optimalidad o el criterio


de la solución aproximada (Corolarios 2.4 y 2.5 respectivamente).
CA

Notemos que para el siguiente problema: Determinar


TE

α∈Ω
Y

(2.19)
f (α) = max f (ω),
ω∈Ω
IO

el enfoque es exactamente análogo. En este caso la función aproximante P : Ω → R


BL

para f debe satisfacer


P (α) ≥ f (α), (2.20)
BI

además debe ser posible encontrar α0 ∈ Ω tal que

P (α0 ) = max P (ω) (2.21)


ω∈Ω

y dada una magnitud R ≥ 0 determinar el subconjunto Ω0 ⊂ Ω tal que

P (α0 ) + R ≤ P (ω) ≤ P (α0 ), ω ∈ Ω0 , (2.22)


P (ω) < P (α0 ) + R, ω ∈ Ω \ Ω0 . (2.23)

30
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Los resultados anteriormente estudiados pueden reformularse sin dificultad para


el Problema (2.19). A seguir reformularemos solamente los Corolarios 2.4 y 2.5 ya
que estos serán usados en el Capı́tulo 3.
Sean n ∈ N funciones aproximantes P 1 , P 2 , . . . , P n para f , luego por (2.20)

P i (α) ≥ f (α).

AS
Para cada una de estas funciones aproximantes puede hallarse el elemento óptimo
α0i ∈ Ω tal que

IC
P i (α0i ) = max P i (ω). (2.24)
ω∈Ω

S
Consideremos algún C f tal que

AS FÍ
C f ≤ min P i (α0i ), (2.25)

IC AS
escogemos Ri tal que C f = P i (α0i ) − Ri , para cada i = 1, . . . , n. Luego encontremos
los conjuntos Ωi0 ⊂ Ω para cada i = 1, . . . , n.
e ∈ ni=1 Ωi0 tal que
T
Consideremos α ÁT CI
f (e
α) = max f (ω).
EM IEN

ω∈ n i
T
i=1 Ω0

Corolario 2.9 Si
α) ≥ C f ,
f (e (2.26)
AT C

donde C f es dada por (2.25), entonces


M DE

f (e α
e = α,
α) = f (α).

Demostración. Mostraremos que α ∈ ni=1 Ωi0 . Utilizando sucesivamente (2.26),


T
CA

(2.20) y (2.24)

P i (α0i ) − Ri = C f ≤ f (e
α) ≤ f (α) ≤ P i (α) ≤ P i (α0i )
TE

Tn
entonces α ∈ Ωi0 .
Y

i=1 
IO

Corolario 2.10 Si
f (e
α) < C f , (2.27)
BL

donde C f es dada por (2.25),entonces

C f > f (α) ≥ f (e
α). (2.28)
BI

Demostración. Demostraremos la parte de la izquierda por contradicción. Supong-


amos que C f ≤ f (α), entonces

P i (α0i ) − Ri = C f ≤ f (α) ≤ P i (α) ≤ P i (α0i ) (2.29)

de esta manera, α ∈ ni=1 Ω0 con lo cual f (α) = f (e


T
α) ≥ C f , lo que contradice a
C f > f (e
α). Por lo tanto C f > f (α). 

31
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

2.3 Clases de funciones aproximantes


En esta sección presentaremos 3 clases de funciones para las cuales es posi-
ble resolver (2.3), (2.4) y (2.5), para ello se usan algoritmos ya conocidos como
el método simplex, el algoritmo de Bellman y el método de cálculos sucesivos ya

AS
abordados en el Capı́tulo 1. Esas clases de funciones serán usadas en el Capı́tulo
3 para definir funciones aproximantes y ası́ estudiar determinados problemas de
programación matemática según la Definición 2.1.

S IC
2.3.1 Clase de funciones lineales definidas sobre el conjunto

AS FÍ
de vértices de un poliedro (uso de programación li-
neal)

IC AS
Consideremos el problema de programación lineal
ÁT CI n
X
Minimizar cj x j (2.30)
j=1
EM IEN

sujeto a:
x1 a1 + x2 a2 + . . . + xn an = b, xj ≥ 0, (2.31)
donde
AT C

aj = (aj1 , . . . , ajm )T , b = (b1 , . . . , bm )T , m ≤ n.


M DE

Sea J = {1, 2, . . . , n} y consideremos

Ω = {ω ⊂ J| |ω| = m}, (2.32)


CA

n
de esta manera, |Ω| = Cm . A cada ω ∈ Ω se le asocia el sistema de ecuaciones
X
xk ak = b. (2.33)
TE

k∈ω
Y

Si (2.33) tiene solución no negativa, entonces a cada componente de la solución se


IO

la denota como xk (ω), k ∈ ω y ella corresponde a algún vértice x(ω) = (x1 , . . . , xn )


del poliedro (2.31) donde cada coordenada xj = 0, para j ∈ / ω, y xj = xj (ω), cuando
BL

j ∈ ω. Esa correspondencia es biunı́voca y denotaremos por B(ω) a la matriz básica


correspondiente.
BI

Sea
Ωs := {ω ∈ Ω| xk (ω) ≥ 0, ∀ k ∈ ω}, (2.34)
notemos que cada ω ∈ Ωs puede ser identificado con algún vertice x(ω) del poliedro
(2.31). Definamos la función P en Ω de la siguiente manera:

P ω ∈ Ωs
k∈ω ck xk (ω),
P (ω) = (2.35)
∞, ω ∈ Ω \ Ωs .

32
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Asumiendo que el Problema (2.30) tiene solución, entonces el mı́nimo de (2.30) se


alcanza en algún vértice del poliedro. Ası́ solucionar el Problema (2.30) es equivalente
a determinar α0 ∈ Ω tal que:

P (α0 ) = min P (ω).


ω∈Ω

AS
Notemos que α0 ∈ Ω se determina mediante el método simplex y as se resuelve el
Problema (2.3). Describamos un algortimo para obtener Ω0 ⊂ Ω satisfaciendo (2.4)

IC
y (2.5). Este algoritmo es una modificación del método simplex para la obtención
de los vértices del poliedro (2.31). Con ayuda de este algoritmo, el paso de vértice a

S
vértice se realiza análogamente al método simplex, más precisamente, sustituyendo

AS FÍ
en la base sólo a un vector no básico aj .

IC AS
Descripción del algoritmo para obtener el conjunto Ω0
Inicialmente se resuelve por el método simplex el Problema (2.30) y se determina
ÁT CI
el subconjunto α0 ⊂ J, α0 ∈ Ω y el vértice x(α0 ) tal que
EM IEN
X
P (α0 ) = min P (ω) = ck xk (α0 ).
ω∈Ω
k∈α0

Notemos que
AT C

X X
xk (α0 )ak = b, ck xk (α0 ) = P (α0 ), xk (α0 ) ≥ 0. (2.36)
M DE

k∈α0 k∈α0

De (1.7) y (1.11) tenemos que


CA

yj = B(α0 )−1 aj , j ∈ J \ α0 (2.37)

zj = cTB B(α0 )−1 aj ,


TE

j ∈ J \ α0 . (2.38)
Y

Denotemos con γ = J \ α0 , notemos que zj − cj < 0 para cada j ∈ γ. El método


IO

simplex desarrollado en el Capı́tulo 1, muestra el movimiento a lo largo de los bordes


del poliedro (Teorema 1.5), ello nos permite hacer el paso del vértice x(α0 ) hacia
BL

un vértice contiguo x(ω) donde ω ∈ Ωs . Usaremos el método simplex para obtener


ω ∈ Ωs .
BI

Sea j ∈ γ, elegimos el valor


 
xt (α0 ) xi (α0 )
θ≡ = min , para yij > 0 (2.39)
ytj 1≤i≤m yij

entonces α0 \ {t} ∪ {j} =: ω ∈ Ωs y

P (ω) = P (α0 ) − (zj − cj )xj (ω), (2.40)

33
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

donde xj (ω) = θ y las demás coordenadas de x(ω) pueden ser calculadas por (1.12).
De (2.39) y (2.40) se puede observar de qué manera se obtiene ω ∈ Ωs y P (ω).
Notemos que P (ω) > P (α0 ), pues zj − cj ≤ 0. Si para un R ≥ 0 dado tenemos que
P (α0 ) ≤ P (ω) ≤ P (α0 ) + R, entonces ω se guarda en Ω e 0 y forma parte del primer
grupo de vértices ω 1 .

AS
Haciendo el mismo análisis para los demás j ∈ γ obtenemos los demás elementos
del primer grupo ω 1 , que son los vértices x(ω) del poliedro conectados por una
arista con el vértice x(α0 ). Vamos a enumerar en el orden en que fueron obtenidos:

IC
1
ω11 , . . . , ωm 1
. Para esto, cada ωr1 , 1 ≤ r ≤ m1 pueden ser guardados mediante dos

S
números (t, l) donde t ∈ α0 es la variable que se extrae de la base y l es la variable
que ingresa a la base.

AS FÍ
Luego pasamos a formar el segundo grupo de vértices ω 2 . Describamos este pro-
ceso en forma general.

IC AS
Supongamos que tenemos el q-ésimo grupo
ÁT CI ω1q , ω2q , . . . , ωm
q
q
, q ≥ 1.
EM IEN

La formación del siguiente (q + 1)-ésimo grupo ocurre a partir del vértice ωrq ,
donde r es un ı́ndice variable, al inicio igual a uno. Para el se conocen los valores de
P (ωqr ) con
AT C

P (α0 ) ≤ P (ωrq ) ≤ P (α0 ) + R y x(ωrq ).


Para ωrq se satisfacen las relaciones (2.36)-(2.40) cuya expresión formal se obtiene
M DE

substituyendo α0 por ωrq en esas fórmulas. De todos los j ∈ J \ ωrq , para los cuales
zj − cj ≤ 0, se forma el subconjunto γ ⊂ J \ ωrq .
Para cada l ∈ γ hallamos θ como:
CA

xt (ωrq ) xk (ωrq )
 
θ≡ = minq , para cada ykl > 0
ytl ykl
TE

k∈ωr
Y

ası́ determinamos el vértice del poliedro ω = ωrq \ {t} ∪ {l} y el valor de P (ω) con
IO

P (ω) = P (ωrq ) − (zl − cl )xl (ω),


BL

donde xl (ω) = θ y las demás coordenadas de x(ω) pueden ser calculadas por (1.12).
Para incluir tal ω en Ω
e 0 y en el (q + 1)-ésimo grupo es necesario que satisfagan dos
BI

condiciones:
P (ω) ≤ P (α0 ) + R
ω∈
/Ωe0

Cuando ambas condiciones se satisfacen, el vértice se incluye en el (q + 1)-ésimo


grupo y en Ωe 0 . Si no se satisface alguna de ellas, el vértice ω = ω q \ {t} ∪ {l} no
r
se incluye ni en el (q + 1)-ésimo grupo ni en Ω0 . Variando el valor de r hasta mq
e

34
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

y realizando el procedimiento anterior obtenemos los elementos restantes del grupo


ω q+1 .
La formación del (q + 1)-ésimo grupo será imposible si mq = 0 o si en el q-ésimo
grupo el ı́ndice r es igual a mq + 1. En este caso pasamos al (q − 1)-ésimo grupo e
intentamos formar a partir de él un nuevo q-ésimo grupo. Para esto, en calidad de

AS
nuevo ωrq−1 se escoge el siguiente inmediato, es decir, el ı́ndice r se incrementa en uno.
Si r ≤ mq−1 , se forma el nuevo q-ésimo grupo, para esto el vértice obtenido en este
caso puede ser guardado en el mismo lugar, donde antes se guardaron los vértices

IC
de los grupos anteriores (q-ésimo, (q + 1)-ésimo, etc.). Si resulta que r = mq − 1,

S
pasamos al (q − 2)-ésimo grupo para formar de él un nuevo (q − 1)-ésimo grupo, etc.
Este proceso se termina cuando del primer grupo de vértices no se pueda formar

AS FÍ
un segundo, debido a que o bien m1 = 0 o en el primer grupo el ı́ndice r es igual a
m1 + 1. Al final de los cálculos tomando Ω0 = Ω e 0 ∪ {α0 }, se habrá resuelto (2.4),

IC AS
(2.5).
A seguir mostramos un ejemplo donde desarrollaremos paso a paso el algoritmo
ÁT CI
descrito en esta subsección.
EM IEN

Ejemplo 2.1 Consideremos el siguiente problema de programación lineal

Minimizar x1 + x2 − 4x3
AT C

s.a. x1 + x2 + 2x3 + x4 = 9
x1 + x2 − x3 + x5 = 2
M DE

−x1 + x2 + x3 + x6 = 4
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0.
CA

Determine la solución óptima y cercanas a la óptima, para R = 2.

Solución: Por lo visto anteriormente en el Ejemplo 1.2 sabemos que tiene una
TE

solución óptima igual a −17 y corresponde al vértice


Y

 
T 1 13
x = , 0, , 0, 6, 0 .
IO

3 3

Consideremos Ω y la función P dada por (2.32) y (2.35) respectivamente. Notemos


BL

que α0 = (1, 3, 5), x(α0 ) = (1/3, 0, 13/3, 0, 6, 0) y P (α0 ) = −17.


A seguir vamos a encontrar el conjunto Ω0 que contiene las soluciones cercanas
BI

a la óptima con valor mayor igual a −15.


Encontrando el primer grupo ω 1 : Sea γ = {2, 4, 6}, notemos que
 
1
0 − 23
3
B −1 (α0 ) =  1
0 13  .
 
3
0 1 1

35
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Para l = 2:
 
− 31
x5 (α0 )
z2 − c2 = −4, y2 = B −1 (α0 )a2 =  23  luego θ = = 3.
 
y52
2

AS
Portanto ω = {1, 2, 3}, x(ω) = (4/3, 3, 7/3, 0, 0, 0) y

P (ω) = −17 − (z2 − c2 )x2 (ω) = −5,

IC
desde que P (ω) > −15, ω no se guarda ni en el primer grupo ni en Ω
e 0.

S
Para l = 4:

AS FÍ
 
1
3
x1 (α0 )

IC AS
y4 = B −1 (α0 )a4 =
1
z4 − c4 = −1, 3 luego θ = = 1.
y14
0
ÁT CI
Portanto ω = {3, 4, 5}, x(ω) = (0, 0, 4, 1, 6, 0) y
EM IEN

P (ω) = −17 − (z4 − c4 )x4 (ω) = −16,

desde que P (ω) ≤ −15, denotamos ω11 := ω = {3, 4, 5} y lo guardamos en el


AT C

primer grupo y en Ω
e 0.
M DE

Para l = 6:
 
− 32
x5 (α0 )
z6 − c6 = −2, y6 = B −1 (α0 )a6 =  13  luego θ = = 6.
 
CA

y56
1

Portanto ω = {1, 3, 6}, x(w) = (13/3, 0, 7/3, 0, 0, 6) y


TE
Y

P (ω) = −17 − (z6 − c6 )x6 (ω) = −5,


IO

desde que P (ω) > −15, ω no se guarda ni en el primer grupo ni en Ω


e 0.
BL

Portanto el primer grupo está formado por ω 1 = {ω11 }.


Encontrando el segundo grupo ω 2 :
BI

• Sea ω11 = {3, 4, 5}, luego


 
0 0 1
B −1 (ω11 ) =  1 0 −2  y x(ω11 ) = (0, 0, 4, 1, 6, 0).
 

0 1 1

Notemos que

36
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

z1 − c1 = 3
z2 − c2 = −5
z6 − c6 = −4

consideremos γ = {2, 6}.

AS
Para l = 2:
 

IC
1
x5 (ω11 )
y2 = B −1 (ω11 )a2 = −1 luego θ = = 3.
 
y52

S
2

AS FÍ
Portanto ω = {2, 3, 4}, x(ω) = (0, 3, 1, 4, 0, 0) y

IC AS
P (ω) = −16 − (z2 − c2 )x2 (ω) = −1,

desde que P (ω) > −15, ω no se guarda ni en el segundo grupo ni en Ω


ÁT CI e 0.

Para l = 6:
EM IEN

 
1
x3 (ω11 )
y6 = B −1 (ω11 )a6 = −2 luego θ = = 4.
 
y36
AT C

1
M DE

Portanto ω = {4, 5, 6}, x(ω) = (0, 0, 0, 9, 2, 4) y

P (ω) = −16 − (z6 − c6 )x6 (ω) = 0,


CA

desde que P (ω) > −15, ω no se guarda ni en el segundo grupo ni en Ω


e 0.
TE

Notemos que el segundo grupo ω 2 no tiene elementos luego m2 = 0 y el algoritmo


Y

termina.
Portanto tenemos que (2.4) y (2.5) está resuelto para el valor R = 2 con Ω0 =
IO

{α0 , ω11 }, donde


BL

• α0 = (1/3, 0, 1/3, 0, 6, 0), y P (α) = −17,

• ω11 = (0, 0, 4, 1, 6, 0), y P (ω11 ) = −16.


BI

37
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

2.3.2 Clase de funciones definidas en la familia de subcon-


juntos de un conjunto dado (uso del método de cálculos
sucesivos)
Como en la Sección 1.3 sean Ω = 2I donde I = {1, 2, . . . , m} y P : Ω → R una

AS
función supermodular, es decir, para cualquier ω1 , ω2 ∈ Ω tenemos

P (ω1 ) + P (ω2 ) ≤ P (ω1 ∪ ω2 ) + P (ω1 ∩ ω2 ).

IC
Consideremos α0 ∈ Ω tal que

S
AS FÍ
P (α0 ) = min P (ω).
ω∈Ω

Para resolver (2.4), (2.5) se propone una versión análoga de los principios de

IC AS
descartes dado por V. Cherenin [9], llamados principios generalizados de descarte.
ÁT CI
Proposición 2.2 (Primer Principio generalizado de descarte.) Si para algún
par de subconjuntos ω1 , ω2 ∈ Ω tenemos que ω1 ⊂ ω2 y P (ω1 ) + R < P (ω2 ), entonces
EM IEN

se pueden descartar a todos los 2m−|ω2 | subconjuntos ω ⊃ ω2 , pues en este caso


P (ω) > P (α0 ) + R.

Demostración. Tomemos δ = ω2 y γ = ω1 ∪ {ω \ ω2 } con lo cual δ ∪ γ = ω y


AT C

δ ∩ γ = ω1 de la propiedad que P es una función supermodular tenemos


M DE

P (ω1 ∪ {ω \ ω2 }) + P (ω2 ) ≤ P (ω) + P (ω1 ),

además
CA

P (ω1 ) + R < P (ω2 ).


Sumando las dos últimas desigualdades obtenemos
TE
Y

P (ω1 ∪ {ω \ ω2 }) + R < P (ω),


IO

pero P (α0 ) ≤ P (ω1 ∪ {ω \ ω2 }), entonces


BL

P (α0 ) + R < P (ω).


BI

Proposición 2.3 (Segundo Principio generalizado de descarte.) Si para algún


par de subconjuntos ω1 , ω2 ∈ Ω tenemos que ω1 ⊂ ω2 y P (ω1 ) > P (ω2 ) + R, entonces
se pueden descartar todos los 2|ω1 | subconjuntos ω ⊂ ω1 , pues en este caso tenemos
P (ω) > P (α0 ) + R.

38
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Demostración. Tomemos δ = ω1 y γ = ω ∪{ω2 \ω1 }, entonces δ ∪γ = ω2 , δ ∩γ = ω,


de la propiedad que P es una función supermodular tenemos

P (ω ∪ {ω2 \ ω1 }) + P (ω1 ) ≤ P (ω2 ) + P (ω),

además por hipótesis

AS
P (ω2 ) + R < P (ω1 ).
Sumando las dos últimas desigualdades obtenemos

IC
P (ω ∪ {ω2 \ ω1 }) + R < P (ω),

S
AS FÍ
pero P (α0 ) ≤ P (ω ∪ {ω2 \ ω1 }), entonces

P (α0 ) + R < P (ω).

IC AS

ÁT CI
Sea ω1 , ω2 ∈ Ω tal que ω1 ⊂ ω2 . En el siguiente corolario consideremos L1 (ω1 , ω2 )
y L2 (ω1 , ω2 ) definidos por (1.17) y (1.18) respectivamente.
EM IEN

Proposición 2.4 (Tercer Principio generalizado de descarte.) Sea α e ∈ Ω una


solución temporalmente óptima. Si para algún par de subconjuntos ω1 , ω2 ∈ Ω sat-
isfacendo ω1 ⊂ ω2 resulta que L1 (ω1 , ω2 ) > P (e α) + R ó L2 (ω1 , ω2 ) > P (e
α) + R,
AT C

|ω2 \ω1 |
entonces se pueden descartar los 2 subconjuntos tales que ω1 ⊂ w ⊂ ω2 .
M DE

Demostración. De (1.16) y del Lema 1.2 tenemos:

α) + R < Li (ω1 , ω2 ) ≤ P (α0 ),


P (α0 ) + R ≤ P (e
CA

para i = {1, 2}. Desde que


P (α0 ) + R < P (α0 ),
TE
Y

entonces para cada ω1 ⊂ w ⊂ ω2 tenemos que


IO

P (α0 ) + R < P (ω).


BL


BI

Descripción del algoritmo para obtener el conjunto Ω0


Cada principio generalizado de descarte permite descartar elementos ω ∈ Ω
tal que ω ∈
/ Ω0 . De esta manera podemos usar los tres principios reiteradas veces
para descartar los elementos que no pertenecen a Ω0 . Finalmente usando evaluación
exhaustiva se determina el conjunto Ω0 .

39
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

2.3.3 Clase de funciones definidas sobre un reticulado de


números enteros (uso de programación dinámica)
Consideremos el siguiente problema de optimización
N
X

AS
Maximizar: ϕ(x1 , x2 , . . . , xn ) = gi (xi )
i=1
N (2.41)
X
s.a. ai (xi ) ≤ b, xi ≥ 0, entero

IC
i=1

S
donde ai ≥ 0 es una función inyectiva que toma valores enteros para xi ≥ 0 entero,

AS FÍ
b ≥ 0 es un número entero y cada gi es una función real para i = 1, 2, . . . N .
Notemos que el Problema (2.41) es una versión más general que el problema de

IC AS
asignación de recursos, detallado en la Subsección 1.4.2, pues para ese caso ai = 1
y gi (0) = 0, para cada i = 1, . . . , N , sin embargo el algoritmo de Bellman puede ser
aplicado y aquı́ daremos los detalles.
ÁT CI
Como en (1.20), denotemos
EM IEN

fN (b) = max ϕ(x1 , . . . , xn ).


x1 ,...,xN
AT C

Para resolver este problema se puede usar el método de programación dinámica.


Denotemos por ω el vector con N componentes enteras que satisfacen las condiciones
M DE

del Problema (2.41), es decir, ω = (x1 , . . . , xN ) tal que

a1 (x1 ) + a2 (x2 ) + . . . + aN (xN ) ≤ b,


CA

y al conjunto de tales ω por Ω. Definamos la función P en Ω de la siguiente manera


TE

N
Y

X
P (ω) = gi (xi )
i=1
IO

donde xi es i-ésima componente de ω.


BL

Ası́ el Problema (2.41) puede ser reformulado de la siguiente manera: determinar


α0 ∈ Ω tal que
P (α0 ) = max P (ω). (2.42)
BI

ω∈Ω

De ahı́ tenemos que


fN (b) = P (α0 ).
De esta manera, α0 ∈ Ω se determina mediante el algoritmo de Bellman detallado
en la Subsección 1.4.2 y con ello se resuelve el Problema (2.21).

40
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Describamos una modificación al algoritmo de Bellman, que permite determinar


el subconjunto Ω0 de todas las soluciones cercanas a la óptima para una magnitud
R > 0 dada, es decir determinar Ω0 ⊂ Ω tal que

P (α0 ) ≥ P (ω) ≥ P (α0 ) − R, ω ∈ Ω0 , (2.43)


P (ω) < P (α0 ) − R, ω ∈ Ω \ Ω0 .

AS
(2.44)

El algoritmo de Bellman consiste en la construcción de una tabla de b + 1 filas

IC
y 2N columnas, como se puede observar en la Tabla 1.1. Cada fila corresponde a
la cantidad de recurso ξ = 0, 1, . . . , b y a cada par de columnas le corresponden los

S
valores fk (ξ) y xk (ξ), para k = 1, 2, . . . , N , esto es el máximo retorno en la etapa

AS FÍ
k con un recurso disponible de ξ y su asignación correspondiente para esta etapa.
Para cada par de valores k ∈ {1, 2, . . . , N } y ξ ∈ {1, 2, . . . , b}

IC AS
k
X
fk (ξ) = max gi (xi ), (2.45)
ÁT CI x1 ,...,xk
i=1

sujeto a:
EM IEN

k
X
ai (xi ) ≤ ξ; xi ≥ 0 entero; i = 1, 2, . . . , k
i=1

ó equivalentemente
AT C

 
fk (ξ) = max gk (xk ) + fk−1 (ξ − ak (xk )) , (2.46)
M DE

xk

sujeto a:
k−1
CA

X
0 ≤ ak (xk ) ≤ ξ − ai (xi ), xi ≥ 0 enteros. (2.47)
i=1

De esta manera el algoritmo de Bellman, para cada par de valores k, ξ, se cálcula


TE
Y

y anota en la tabla el valor de fk (ξ) y el valor xk (ξ) de la k-ésima variable xk , para


la cual se alcanzó fk (ξ) según la fórmula (2.46).
IO

A partir de ahora escribiremos ξk en lugar de ξ para indicar la etapa a la que


corresponde, esto ayudará en el análisis previo a la construcción de la tabla de
BL

Bellman.
Mostraremos que para resolver (2.43) y (2.44) es suficiente guardar, además de los
BI

valores xk (ξk ), todos los otros valores de xk para los cuales tenemos

fk (ξk ) − fk (ξk , xk ) ≤ R, (2.48)

sujeto a (2.47) donde

fk (ξk , xk ) := gk (xk ) + fk−1 (ξk − ak (xk )) . (2.49)

41
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Para esto primero probaremos la siguiente proposición que muestra que cada coor-
denada de ω, donde este satisface (2.43), satisface (2.48). Esto quiere decir que cada
coordenada de ω ∈ Ω0 es un valor que fue obtenido en algún momento del algoritmo
de Bellman.

Proposición 2.5 Si ω
e = (e
x1 , . . . , x
eN ) satisface la restricción del Problema (2.41) y

AS
además
XN
P (e
ω) = gi (exi ) ≥ P (α0 ) − R = fN (b) − R,

IC
i=1

entonces cada x
ek cumple (2.48), para k = 1, 2, . . . , N .

S
AS FÍ
Demostración. Fijemos un 1 ≤ k ≤ N . Notemos que
k
X N
X

IC AS
P (e
ω) = gi (e
xi ) + xi ) ≥ fN (b) − R.
gi (e (2.50)
i=1 i=k+1

ÁT CI k
X
Considerando (2.49), (2.45), (2.50) y ξk = ai (e
xi ) tenemos:
i=1
EM IEN

fk (ξk ) − fk (ξk , x
ek ) = fk (ξk ) − [fk−1 (ξk − ak (exk )) + gk (e
xk )]
k−1
X
≤ fk (ξk ) − xi ) − gk (e
gi (e xk )
AT C

i=1
k
M DE

X
= fk (ξk ) − gi (e
xi )
i=1
N
X
≤ fk (ξk ) − fN (b) + xi ) + R ≤ R,
gi (e
CA

i=k+1

N
TE

X
ya que fN (b) es solución óptima y fk (ξk ) + gi (e
xi ) corresponde a alguna solución
Y

i=k+1
admisible ω ∈ Ω.
IO

Entonces tenemos que cada coordenada xek de ω = (ex1 , . . . , x


eN ) se encuentra entre
los valores guardados al momento de construir la tabla al analizar el par (k, ξk ),
BL

donde ξk = ki=1 ai (e
P
xi ). 
BI

Descripción del algoritmo para obtener el conjunto Ω0


Con la demostración de la Proposición 2.5 tenemos la manera como construir
un algoritmo para obtener todos los ω ∈ Ω0 . El algoritmo empieza en cada par
(N, ξN ) donde 0 ≤ ξN ≤ b. Fijando ξN = 0 se determina el grupo de valores
XeN = {e x1N (0), x em
e2N (0), . . . , x N (0)} de la N -ésima variable para el par (N, 0) según
1

42
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

la siguiente regla, x eN (0) ∈ X eN , si fN (0, x eN (0)) ≥ P (α0 ) − R, si X e1 = ∅ se pasa a


ξN = 1 y ası́ sucesivamente hasta encontrar un primer1 grupo X e1 6= ∅.
Fijando x e1N (ξN ) para algún 0 ≤ ξN ≤ b se usa la regla de recuperación de
la solución óptima del algoritmo de Bellman y se pasa a la etapa N − 1 para el
recurso disponible ξN −1 = ξN − aN (e x1N (ξN )). Para el par (N − 1, ξN −1 ) se obtiene

AS
un segundo grupo de valores X eN −1 = {e em
x1N −1 (ξN −1 ), . . . , x N −1 (ξN −1 )}. Fijando el
2

e1N −1 (ξN −1 ) pasamos a la etapa N − 2 con recurso disponible ξN −2 = ξN −1 −


valor x

aN −1 xe1N −1 (ξN −1 ) . Para el par (N −2, ξN −2 ) determinamos el tercer grupo de valores

IC
XeN −2 = {e em
x1N −2 (ξN −2 ) , . . . , x N −2 (ξN −2 )} de manera análoga al segundo grupo y ası́
3

S
sucesivamente.
El proceso de construcción de los grupos es análogo al descrito anteriormente, para la

AS FÍ
construcción de grupos de vértices de un poliedro. Al formar el (k + 1)-ésimo grupo,
N −k

IC AS
X
1 ≤ k ≤ N −1, se calcula al mismo tiempo los valores gi (exi (ξi )), correspondiente
i=N

ÁT CI eN −k (ξN −k ) ∈ X
a cada elemento del grupo. Si para algún x eN −k resulta que:

−k+1
NX
eN −k (ξN −k )) ≥ P (α0 ) − R,
EM IEN

gi (e
xi (ξi )) + fN −k (ξN −k , x (2.51)
i=N

entonces x eN −k (ξN −k ) se incluye en el (k+1)-ésimo grupo. Si en el (k+1)-ésimo grupo


AT C

no hubiese ningún elemento, entonces se regresa al k-ésimo grupo para formar de él
un nuevo (k + 1)-ésimo grupo y ası́ sucesivamente. El algoritmo se repite de manera
M DE

análoga para los elementos restantes de X em


x2N (ξN ) , . . . , x
eN , es decir, {e
N (ξN )}. En
1

el proceso de construcción, las trayectorias que se encuentran en el N -ésimo grupo


serán los elementos ω ∈ Ω0 .
CA

El proceso termina cuando, de manera análoga, han sido construidos todos los
ω ∈ Ω0 provenientes del último par (N, b) tal que fN (ξN (b), x eN (b)) ≥ P (α0 ) − R,
TE

habiendo resuelto ası́ (2.43) y (2.44).


Y
IO

En el siguiente ejemplo desarrollaremos este algoritmo paso a paso.

Ejemplo 2.2 Consideremos el problema de asignación de recursos detallado en la


BL

Subsección 1.4.2. Consideremos una cantidad de recursos b = 6 unidades para N = 3


actividades y las correspondientes funciones de retorno para cada actividad:
BI

g1 (x) = −x2 + 10x, g2 (x) = x + 15, y g3 (x) = x2 − x,

donde gi (0) = 0 para cada i = 1, 2, 3. Determinar la asignación óptima y cercanas a


la óptima, para R = 2.
1
Note que este primer grupo siempre existe pues la solución óptima alcanza el valor de
eN (ξN )) para algún 0 ≤ ξN ≤ b.
fN (ξN , x

43
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Solución: Primero encontramos la solución óptima, esta se obtiene por medio del
algoritmo de Bellman que es la construcción de la Tabla 2.1. Para ello se hace uso
de las condiciones de frontera (1.21), (1.22) y se encuentran los valores
 
fk (ξk ) = max gk (xk ) + fk−1 (ξk − xk ) ,
0≤xk ≤ξk

AS
para 1 ≤ ξk ≤ 6 y 1 ≤ k ≤ 3. Estos valores serán exhibidos en la Tabla 2.1.

IC
ξ x1 (ξ1 ) f1 (ξ1 ) x2 (ξ2 ) f2 (ξ2 ) x3 (ξ3 ) f3 (ξ3 )
0 0 0 0 0 0 0

S
1 1 9 1 16 0 16

AS FÍ
2 2 16 1 25 0 25
3 3 21 1 32 0 32

IC AS
4 4 24 1 37 0 37
5 5 25 1 40 0 40
6
ÁT CI
5 25 2 41 0 41
EM IEN

Tabla 2.1: Tabla de Bellman para el Ejemplo 1.4.

De la Tabla 2.1 tenemos que el retorno total óptimo, f3 (6), es de 41 unidades y


AT C

este se obtiene con una asignación de recurso de x3 (6) = 0 unidades en la tercera


actividad. Para las dos actividades restantes se tiene un recurso de ξ = 6 unidades
M DE

y el retorno óptimo con este recurso es f2 (6) = 41 con una asignación de recurso de
x2 (6) = 2 unidades a la segunda actividad. Finalmente para la primera actividad
tenemos un recurso restante de ξ = 4 unidades y el retorno óptimo con este recurso
CA

es f1 (4) = 24 con una asignación de recurso de x1 (4) = 4 unidades a la primera


actividad. Portanto con una asignación de x1 = 4 unidades a la primera actividad,
TE

x2 = 2 unidades a la segunda actividad y x3 = 0 unidades a la tercera actividad,


Y

obtenemos el retorno total óptimo f3 (6) = 41.


IO

Consideremos el Problema (2.42), ası́ tenemos que α0 = (4, 2, 0) y P (α0 ) = 41.


De acuerdo a la Proposición 2.5 para encontrar todas las soluciones cercanas a la
BL

óptima, debemos guardar los valores ξ, xk y fk (ξ, xk ) encontrados en cada etapa


1 ≤ k ≤ 3, donde 0 ≤ xk ≤ 6 y 0 ≤ ξ ≤ 6. Note que esos valores aparecen en el
BI

momento del desarrollo del algoritmo de Bellman para construir la Tabla 2.1. Esos
valores serán presentados en las Tablas 2.2, 2.3 y 2.4 según sus respectivas etapas:

44
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

ξ1 x1 (ξ1 ) g1 (x1 (ξ1 )) f0 (ξ1 − x1 (ξ1 )) f1 (ξ1 , x1 (ξ1 ))


0 0 0 0 0

AS
1 0 0 0 0
1 1 9 0 9

IC
2 0 0 0 0
2 1 9 0 9

S
2 2 16 0 16

AS FÍ
3 0 0 0 0
3 1 9 0 9

IC AS
3 2 16 0 16
3 3
ÁT CI 21 0 21
4 0 0 0 0
EM IEN

4 1 9 0 9
4 2 16 0 16
4 3 21 0 21
AT C

4 4 24 0 24
5 0 0 0 0
M DE

5 1 9 0 9
5 2 16 0 16
5 3 21 0 21
CA

5 4 24 0 24
5 5 25 0 25
TE

6 0 0 0 0
Y

6 1 9 0 9
IO

6 2 16 0 16
6 3 21 0 21
BL

6 4 24 0 24
6 5 25 0 25
BI

6 6 24 0 24

Tabla 2.2: Primera Etapa.

45
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

ξ2 x2 (ξ2 ) g2 (x2 (ξ2 )) f1 (ξ2 − x2 (ξ2 )) f2 (ξ2 , x2 (ξ2 ))


0 0 0 0 0

AS
1 0 0 9 9
1 1 16 0 16

IC
2 0 0 16 16
2 1 16 9 25

S
2 2 17 0 17

AS FÍ
3 0 0 21 21
3 1 16 16 32

IC AS
3 2 17 9 26
3 3
ÁT CI 18 0 18
4 0 0 24 24
EM IEN

4 1 16 21 37
4 2 17 16 33
4 3 18 9 27
AT C

4 4 19 0 19
5 0 0 25 25
M DE

5 1 16 24 40
5 2 17 21 38
5 3 18 16 34
CA

5 4 19 9 28
5 5 20 0 20
TE

6 0 0 24 24
Y

6 1 16 25 41
IO

6 2 17 24 41
6 3 18 21 39
BL

6 4 19 16 35
6 5 20 9 29
BI

6 6 21 0 21

Tabla 2.3: Segunda Etapa.

46
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

ξ3 x3 (ξ3 ) g3 (x3 (ξ3 )) f2 (ξ3 − x3 (ξ3 )) f3 (ξ3 , x3 (ξ3 ))


0 0 0 0 0

AS
1 0 0 16 16
1 1 0 0 0

IC
2 0 0 25 25
2 1 0 16 16

S
2 2 2 0 2

AS FÍ
3 0 0 32 32
3 1 0 25 25

IC AS
3 2 2 16 18
3 3
ÁT CI 6 0 6
4 0 0 37 37
EM IEN

4 1 0 32 32
4 2 2 25 27
4 3 6 16 22
AT C

4 4 12 0 12
5 0 0 40 40
M DE

5 1 0 37 37
5 2 2 32 34
5 3 6 25 31
CA

5 4 12 16 28
5 5 20 0 20
TE

6 0 0 41 41
Y

6 1 0 40 40
IO

6 2 2 37 39
6 3 6 32 38
BL

6 4 12 25 37
6 5 20 16 36
BI

6 6 30 0 30

Tabla 2.4: Tercera Etapa.

47
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Iniciaremos el algoritmo para encontrar los elementos del conjunto Ω0 cuando


R = 2. De la Tabla 2.1 tenemos que la asignación óptima es P (α0 ) = 41.
El algoritmo inicia en cada par (3, ξ3 ) donde 0 ≤ ξ3 ≤ 6, ası́ se determina el
primer grupo no vacı́o X
e1 mediante la regla xe3 (ξ3 ) ∈ X
e1 , si

e3 (ξ3 )) ≥ P (α0 ) − R = 39.


f3 (ξ3 , x (2.52)

AS
Notemos que los valores f3 (ξ3 , x
e3 (ξ3 )) son exhibidos en la Tabla 2.1, ası́ tenemos

IC
que Xe1 6= ∅ solamente cuando ξ3 = 5, 6. Ası́ cada par (3, ξN ) genera un conjunto
de valores X e1 6= ∅ para ξN = 5, 6. Para cada par donde inicia el algoritmo lo

S
resumiremos por medio de un gráfico, eso ejemplifica el algoritmo que inicia en cada

AS FÍ
par (3, ξ3 ).

• Fijemos ξ3 = 5: Iniciamos en la etapa 3. Para el par (3, ξ3 ) tenemos que

IC AS
f3 (ξ3 , 0) ≥ 39,
ÁT CI f3 (ξ3 , 1) < 39,
f3 (ξ3 , 2) < 39,
EM IEN

f3 (ξ3 , 3) < 39,


f3 (ξ3 , 4) < 39,
AT C

f3 (ξ3 , 5) < 39,


M DE

ver la Tabla 2.4. Luego según la condición (2.52) tenemos que x


e3 (5) = 0 es el
único elemento de Xe1 .
CA

Fijemos x
e3 (5) = 0:
TE

– Pasamos a la etapa 2 con recurso disponible ξ2 = ξ3 − x


e3 (5) = 5. Para el
Y

par (2, ξ2 ) tenemos que


IO

g3 (e
x3 (5)) + f2 (ξ2 , 0) < 39,
x3 (5)) + f2 (ξ2 , 1) ≥ 39,
g3 (e
BL

g3 (e
x3 (5)) + f2 (ξ2 , 2) > 39,
BI

g3 (e
x3 (5)) + f2 (ξ2 , 3) < 39,
g3 (e
x3 (5)) + f2 (ξ2 , 4) < 39,
g3 (e
x3 (5)) + f2 (ξ2 , 5) < 39,

ver la Tabla 2.3. Luego según la condición (2.51) tenemos que x


e2 (5) = 1
es el único elemento de X2 .
e

48
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

∗ Pasamos a la etapa 1 con recurso disponible ξ1 = ξ2 − x


e2 (5) = 4.
Para el par (1, ξ1 ) tenemos que

g3 (e
x3 (5)) + g2 (e
x2 (5)) + f1 (ξ1 , 0) < 39,
g3 (e
x3 (5)) + g2 (e
x2 (5)) + f1 (ξ1 , 1) < 39,

AS
g3 (e
x3 (5)) + g2 (e
x2 (5)) + f1 (ξ1 , 2) < 39,
g3 (e
x3 (5)) + g2 (e
x2 (5)) + f1 (ξ1 , 3) < 39,

IC
g3 (e x2 (5)) + f1 (ξ1 , 4) ≥ 39,
x3 (5)) + g2 (e

S
ver la Tabla 2.2. Según la condición (2.51) tenemos que x
e1 (5) = 4 es

AS FÍ
el único elemento de Xe3 .

Por lo tanto para (3, ξ3 ) con ξ3 = 5 hemos encontrado (4, 1, 0) ∈ Ω0 . La

IC AS
busqueda dada por el algoritmo es representada en la siguiente figura:

ÁT CI 0
EM IEN

0 1 2 3 4 5
AT C

4
M DE

Figure 2.1: Camino del par (3, ξ3 = 5).

• Fijemos ξ3 = 6: Iniciamos en la etapa 3. Para el par (3, ξ3 ) tenemos que


CA

f3 (ξ3 , 0) ≥ 39,
TE

f3 (ξ3 , 1) ≥ 39,
Y

f3 (ξ3 , 2) ≥ 39,
IO

f3 (ξ3 , 3) < 39,


f3 (ξ3 , 4) < 39,
BL

f3 (ξ3 , 5) < 39,


BI

ver la Tabla 2.4. Luego según la condición (2.52) tenemos que x


e3 (6) = 0, 1, 2
son elementos de X1 .
e

Fijemos x
e3 (6) = 0:

49
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

– Pasamos a la etapa 2 con recurso disponible ξ2 = ξ3 − x


e3 (6) = 6. Para el
par (2, ξ2 ) tenemos que

g3 (e
x3 (6)) + f2 (ξ2 , 0) < 39,
x3 (6)) + f2 (ξ2 , 1) ≥ 39,
g3 (e

AS
x3 (6)) + f2 (ξ2 , 2) ≥ 39,
g3 (e
x3 (6)) + f2 (ξ2 , 3) ≥ 39,
g3 (e

IC
g3 (e
x3 (6)) + f2 (ξ2 , 4) < 39,
g3 (e
x3 (6)) + f2 (ξ2 , 5) < 39,

S
g3 (e
x3 (6)) + f2 (ξ2 , 6) < 39,

AS FÍ
ver la Tabla 2.3. Luego según la condición (2.51) tenemos que x
e2 (6) =

IC AS
1, 2, 3 son elemento de X
e2 .
Fijemos x e2 (6) = 1
ÁT CI
∗ Pasamos a la etapa 1 con recurso disponible ξ1 = ξ2 − x
e2 (6) = 5.
Para el par (1, ξ1 ) tenemos que
EM IEN

g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 0) < 39,
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 1) < 39,
AT C

g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 2) < 39,
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 3) < 39,
M DE

g3 (e x2 (6)) + f1 (ξ1 , 4) ≥ 39,


x3 (6)) + g2 (e
g3 (e x2 (6)) + f1 (ξ1 , 5) ≥ 39,
x3 (6)) + g2 (e
CA

ver la Tabla 2.2. Según la condición (2.51) tenemos que x


e1 (6) = 4, 5
son elemento de X3 . Portanto (4, 1, 0), (5, 1, 0) ∈ Ω0 .
TE

e
Y

Fijemos x
e2 (6) = 2
IO

∗ Pasamos a la etapa 1 con recurso disponible ξ1 = ξ2 − x


e2 (6) = 4.
Para el par (1, ξ1 ) tenemos que
BL

g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 0) < 39,
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 1) < 39,
BI

g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 2) < 39,
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 3) < 39,
g3 (e x2 (6)) + f1 (ξ1 , 4) ≥ 39,
x3 (6)) + g2 (e

ver la Tabla 2.2. Según la condición (2.51) tenemos que x


e1 (6) = 4 es
el único elemento de Xe3 . Portanto (4, 2, 0) ∈ Ω0 .

50
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Fijemos x
e2 (6) = 3
∗ Pasamos a la etapa 1 con recurso disponible ξ1 = ξ2 − x
e2 (6) = 3.
Para el par (1, ξ1 ) tenemos que

g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 0) < 39,

AS
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 1) < 39,
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 2) < 39,

IC
g3 (e x2 (6)) + f1 (ξ1 , 3) ≥ 39,
x3 (6)) + g2 (e

S
ver la Tabla 2.2. Según la condición (2.51) tenemos que x
e1 (6) = 3 es

AS FÍ
el único elemento de Xe3 . Portanto (3, 3, 0) ∈ Ω0 .

Portanto (4, 1, 0), (5, 1, 0), (4, 2, 0), (3, 3, 0) ∈ Ω0 , la busqueda dada por el

IC AS
algoritmo es representada en la siguiente figura:

ÁT CI 0
EM IEN

0 1 2 3 4 5 6

4 5 4 3
AT C

Figure 2.2: Camino del par (3, ξ3 = 6).


M DE

Fijemos x
e3 (6) = 1:

– Pasamos a la etapa 2 con recurso disponible ξ2 = ξ3 − x


CA

e3 (6) = 5. Para el
par (2, ξ2 ) tenemos que
TE

g3 (e
x3 (6)) + f2 (ξ2 , 0) < 39,
Y

x3 (6)) + f2 (ξ2 , 1) ≥ 39,


g3 (e
IO

g3 (e
x3 (6)) + f2 (ξ2 , 2) < 39,
g3 (e
x3 (6)) + f2 (ξ2 , 3) < 39,
BL

g3 (e
x3 (6)) + f2 (ξ2 , 4) < 39,
g3 (e
x3 (6)) + f2 (ξ2 , 5) < 39,
BI

ver la Tabla 2.3. Luego según la condición (2.51) tenemos que x


e2 (6) = 1
es el único elemento de X
e2 .
Fijemos x e2 (6) = 1
∗ Pasamos a la etapa 1 con recurso disponible ξ1 = ξ2 − x
e2 (6) = 4.

51
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Para el par (1, ξ1 ) tenemos que

g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 0) < 39,
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 1) < 39,
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 2) < 39,

AS
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 3) < 39,
g3 (e x2 (6)) + f1 (ξ1 , 4) ≥ 39,
x3 (6)) + g2 (e

IC
ver la Tabla 2.2. Según la condición (2.51) tenemos que x
e1 (6) = 4 es
e3 . Portanto (4, 1, 1) ∈ Ω0 .

S
el único elemento de X

AS FÍ
1

IC AS
0 1 2 3 4 5
ÁT CI 4
EM IEN

Figure 2.3: Camino del par (3, ξ3 = 6).

Fijemos x
e3 (6) = 2:
AT C

– Pasamos a la etapa 2 con recurso disponible ξ2 = ξ3 − x


e3 (6) = 4. Para el
M DE

par (2, ξ2 ) tenemos que

g3 (e
x3 (6)) + f2 (ξ2 , 0) < 39,
CA

x3 (6)) + f2 (ξ2 , 1) ≥ 39,


g3 (e
g3 (e
x3 (6)) + f2 (ξ2 , 2) < 39,
TE

g3 (e
x3 (6)) + f2 (ξ2 , 3) < 39,
Y

g3 (e
x3 (6)) + f2 (ξ2 , 4) < 39,
IO

ver la Tabla 2.3. Luego según la condición (2.51) tenemos que x


e2 (6) = 1
es el único elemento de X2 .
BL

e
Fijemos x e2 (6) = 1
∗ Pasamos a la etapa 1 con recurso disponible ξ1 = ξ2 − x
BI

e2 (6) = 3.
Para el par (1, ξ1 ) tenemos que

g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 0) < 39,
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 1) < 39,
g3 (e
x3 (6)) + g2 (e
x2 (6)) + f1 (ξ1 , 2) < 39,
g3 (e x2 (6)) + f1 (ξ1 , 3) ≥ 39,
x3 (6)) + g2 (e

52
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

ver la Tabla 2.2. Según la condición (2.51) tenemos que x


e1 (6) = 3 es
el único elemento de X3 .
e

Portanto (3, 1, 2) ∈ Ω0 , la busqueda dada por el algoritmo es representada


en la Figura 2.4:

AS
2

IC
0 1 2 3 4

S
3

AS FÍ
Figure 2.4: Camino del par (3, ξ3 = 5).

IC AS
Todas los elementos de Ω0 es mostrado en la Tabla 2.5.
ÁT CI
ξ x1 (ξ) x2 (ξ) x3 (ξ) Retorno total
5 4 1 0 40
EM IEN

6 5 1 0 41
6 4 2 0 41
AT C

6 3 3 0 39
6 4 1 1 40
M DE

6 3 1 2 39

Tabla 2.5: Soluciones cercanas a la óptima para R = 2.


CA
TE

Implementación en C++
Y

A seguir exhibiremos la implementación en lenguaje de programación C++ del


IO

algoritmo de Bellman para el Problema (2.41), esta implementación además encuen-


tra todas las soluciones cercanas a la óptima dado R > 0 como fue descrita en esta
BL

subsección.
BI

Algoritmo 2.1: Función aproximante para el algoritmo de Bellman.


#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <cstring>
#include <iostream>
#include <sstream>

53
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

#include <ctime>
#define l 642

using namespace std;

int n, h, rango, maximo_filas, contador;

AS
double A[l][l], B[l][l], R[l][l], F[l][l], D[l][l][l], L[l][l], M[l],
N[l], C[l], mejor;

IC
string to_str(int number) {

S
stringstream ss;

AS FÍ
ss << number;
return ss.str();

IC AS
}
void recursion(int x, int y, int recurso, double ganancia_acumulada,
string ans) { ÁT CI
double max_nueva_ganancia = D[x][y][4];
int nuevo_recurso = D[x][y][1] - C[x]*D[x][y][2];
EM IEN

int inicio_fila = (nuevo_recurso*nuevo_recurso + nuevo_recurso)/2+1;


double nueva_ganancia_acumulada = ganancia_acumulada + D[x][y][3];
if (x == 1) {
AT C

cout << "Asignacion= " << " " <<D[x][y][2]<< " " << ans << "\t\t";
cout << "Retorno total=" <<
M DE

max_nueva_ganancia+nueva_ganancia_acumulada<<"\n";
contador=contador+1;
return;}
CA

for (int i = inicio_fila; i <= inicio_fila + nuevo_recurso; ++i) {


if (D[x-1][i][5] + nueva_ganancia_acumulada >= mejor-rango) {
TE

recursion(x-1, i, nuevo_recurso, nueva_ganancia_acumulada,


Y

string(to_str(D[x][y][2]) + " " + ans));}


}
IO

}
int main() {
BL

std::clock_t start;
double duration;
BI

start = std::clock();
int i, j, e, d, k, q,s, t, v, w, g, p, r, x,z,o;
double may,mat;
cout<<"\t\t"<<"ALGORITMO DE BELLMAN PARA EL PROBLEMA DE
ASIGNACION"<<endl<<endl;
printf("Ingrese el numero de etapas=");
scanf("%d", &n);

54
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

printf("Ingrese la cantidad de recurso disponible=");


scanf("%d", &d);
cout<<"\t\t"<<"INGRESE LAS FUNCIONES DE RETORNO"<<endl;
cout<<"Ingrese el m~A¡ximo grado de las funciones de retorno=";
scanf("%d", &p);
/*** INGRESA LAS FUNCIONES DE RECURSO ***/

AS
for (i = 1; i <= n; ++i) {
printf("ingresar los coeficientes de la funcion de retorno g[%d]\n",

IC
i);
for (j = 1; j <= p + 1; ++j) {

S
printf("\t A[%d][%d]= ", i, j);

AS FÍ
scanf("%lf", &A[i][j]);}
}

IC AS
cout<<"\n\t"<<"Ingrese los coeficientes de las restricciones";
cout<<"\n\t"<<"Si desea resolver un problema de asignacion de recurso
ingrese todos los coeficientes igual a 1";
ÁT CI
cout<<"\n\t"<<"Si desea resolver la version general del problema de AR
ingrese los coeficientes"<<"\n";
EM IEN

for(i=1;i<=n;++i){
cout<<"C["<<i<<"]=";
scanf("%lf",&C[i]);}
AT C

for (j = 1; j <= d + 1; ++j) {


e = 1;
M DE

for (i = 1; i <= p + 1; ++i) {


if (j == 1)
B[i][j] = 0;
CA

else
B[p + 2 - i][j] = e;
TE

e = e * (j - 1);}
Y

}
r=1;
IO

for(i=1;i<=n;++i){
r=C[i]*r;}
BL

if(r==1)
B[p+1][1]=0;
BI

else
B[p+1][1]=1;
for (i = 1; i <= n; ++i)
for (k = 1; k <= d + 1; ++k) {
mat = 0;
for (j = 1; j <= p + 1; ++j) mat = mat + A[i][j] * B[j][k];
R[i][k] = mat;

55
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

}
/*** REALIZANDO EL ALGORITMO DE BELLMAN ***/
for (i = 1; i <= d + 1; ++i) {
F[0][i] =0;
}
for (h = 1; h <= n; ++h) {

AS
k = 1; q = 1; s = 0;
do {

IC
j = 0; t = 0; v = 0; g = 0;
may = 0;

S
for (i = k; i <= q; ++i) {

AS FÍ
D[h][i][g + 1] = s;
D[h][i][g + 2] = t;

IC AS
t = t + 1;
if(s>= C[h]*D[h][i][g + 2]){
D[h][i][g + 3] = R[h][t];
ÁT CI
w = s - C[h]*(t-1)+1;
D[h][i][g + 4] = F[h - 1][w];
EM IEN

v = v + 1;
D[h][i][g + 5] = D[h][i][g + 3] + D[h][i][g + 4];
if (may <= D[h][i][g + 5]) {
AT C

L[s + 1][2 * h + 1] = D[h][i][g + 2];


may = D[h][i][g + 5];
M DE

}}
else{
D[h][i][g+3]=-1000;
CA

D[h][i][g+4]=-1000;
D[h][i][g+5]=-1000;}
TE

}
Y

s = s + 1;
F[h][s] = may;
IO

L[s][2 * h] = F[h][s];
k = q + 1;
BL

q = k + s;
} while (s <= d);
BI

}
/*** DANDO A CONOCER LA ASIGANACION OPTIMA ***/
z = d;
for (i = 1; i <= n; ++i) {
M[n + 1 - i] = L[z + 1][2 * n - 2 * i + 3];
z = z - C[n+1-i]*M[n + 1 - i];
o = M[n + 1 - i];

56
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

N[n + 1 - i] = R[n + 1 - i][o + 1];


}
for (i = 1; i <= n; ++i) {
cout<<"\n\t"<<" La asiganacion en la etapa "<<i<<" es = "<<M[i]<<"
---> con un retorno "<<N[i];
}

AS
mejor = L[d + 1][2 * n];
cout<<"\n\n\t\t"<<"EL RETORNO TOTAL ES = "<<mejor<<endl;

IC
printf("\t\tINGRESAR EL RANGO =");
scanf("%d",&rango);

S
/*** DANDO A CONOCER LAS SOLUCIONES CERCANAS A LA OPTIMA***/

AS FÍ
maximo_filas = (d+1)*(d+2)/2;
contador=0;

IC AS
cout<<"\n\t\t"<<"Las Asignaciones >="<<mejor-rango<<" son:"<<endl<<endl;
for (j = 1; j <= maximo_filas; ++j) {
if (D[n][j][5] >= mejor-rango) {
ÁT CI
cout<<"\t\t"<<" Posicion="<<j<<"\t"<<"Nodo="<<D[n][j][5]<<endl;
recursion(n, j, D[n][j][2], 0, "");
EM IEN

cout<<endl;}
}
/*** DANDO A CONOCER EL TIEMPO DE EJECUCION ***/
AT C

cout<<"\n\t\t"<<"Existen "<<contador<<" asignaciones cercanas a la


optima"<<endl;
M DE

cout<<"\t\t"<<"El RETORNO TOTAL ES ="<<mejor<<endl;


duration = ( std::clock() - start ) / (double) CLOCKS_PER_SEC;
std::cout<<"\n\t\tDuracion: "<< duration <<’\n’;
CA

getch();
}
TE
Y

Observación 2.1 Las Tablas 1.1 y 2.1 fueron obtenidas mediante esta implementación.
IO

Ası́ como la Tabla 2.5 ingresando el valor de R = 2.


BL

El método descrito en esta subsección para encontrar las soluciones cercanas a


la óptima, necesita evaluar N matrices de tamaño [(b + 1)(b + 2)/2] × 5, donde N
es el número de actividades y b es la cantidad del recurso disponible. Dependiendo
BI

del computador con que se cuente se puede usar la implementación en C++ para
valores de b suficientemente grandes.
A seguir, ejecutaremos la implementación para mostrar los diferentes tiempos
de ejecución del algoritmo vı́a computador ası́ como todas las soluciones cercanas
a la óptima para un problema en especı́fico ingresando diferentes valores para la
cantidad de recurso b. Esta implementación será ejecutada en un computador con

57
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

las siguientes caracteristicas:

• Marca: Lenovo,

• Modelo: 20078,

• Memoria: 6GB,

AS
• Procesador: Intel Core i3.

IC
Para este computador podemos trabajar con matrices de tamaño máximo 642 ×
642 es por ello que mostraremos resultados solamente para valores con un recurso

S
máximo de b = 32. Para computadores más sofisticados se puede usar la imple-

AS FÍ
mentación y obtener resultados para valores mucho mayores a 32.

IC AS
Ejemplo 2.3 Consideremos el siguiente problema de asignación de recursos detal-
lado en la Subsección 1.4.2.
ÁT CI 16
X
Maximizar: gi (xi )
EM IEN

i=1
X16
s.a. xi ≤ b, xi ≥ 0, entero,
i=1
AT C

donde
M DE

g1 (x) = 5.8x + 9.8; g9 (x) = 0.45x2 − 5x + 16;


g2 (x) = 0.55x2 − 5.7x + 6; g10 (x) = −0.017x2 + 9.3x + 9;
CA

g3 (x) = 0.12x2 + 5x + 28; g11 (x) = 0.55x2 − 6.5x − 4.5;


g4 (x) = 6.7x + 35; g12 (x) = 0.72x2 − 12.5x + 5.5;
TE

g5 (x) = 0.25x2 + 2.9x + 3.5; g13 (x) = 0.18x2 − 17x + 25;


Y

g6 (x) = 1.05x2 − 22.5x + 8.5; g14 (x) = −0.01x2 + 9.25x;


IO

g7 (x) = 7.2x + 15; g15 (x) = 0.425x2 − 2x + 5;


g8 (x) = 0.46x2 − 8x + 37; g16 (x) = 0.99x2 − 20.2x + 8.3;
BL

gi (0) = 0 para cada i = 1, 2, . . . , 16 y b es un valor entero menor e igual a 32.


BI

Encontraremos las soluciones cercanas a la óptima para diferentes valores de b y


R = 0.3.
En la Tabla 2.6 mostramos para los diferentes valores de b el retorno óptimo de
las 16 actividades, el número de elementos cercanos al óptimo Ω0 y el tiempo de
ejecución T en segundos.

58
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

b Retorno óptimo Ω0 T
20 291.078 7 0.064
21 300.158 6 0.065
22 309.237 7 0.082
23 318.297 7 0.058

AS
24 327.342 6 0.077
25 336.382 7 0.097

IC
26 345.402 7 0.067
27 354.413 7 0.079

S
28 363.413 7 0.065

AS FÍ
29 372.393 6 0.09
30 381.37 7 0.13

IC AS
31 392.663 2 0.09
32 408.813 3 0.14
ÁT CI
Tabla 2.6: Resultados de la implementación.
EM IEN

Los resultados de la Tabla 2.6 fueron obtenidos mediante la implementación. A


seguir explicaremos los datos que el programa exige que sean ingresados y mostraremos
AT C

los valores que muestra al finalizar su ejecución. Realizaremos esto para b = 20 del
Ejemplo 2.3:
M DE

• Ingresar la cantidad de recurso: b = 20;


CA

• Ingresar el número de actividades: n = 16;


2
• Ingresar el máximo grado de las funciones de retorno: p = 2;
TE
Y

• Ingresar los coeficientes de cada función de retorno del Ejemplo 2.3;


IO

• Ingresar el valor del rango: R = 0.3;


BL

Resultados de la ejecución de la implementación para los valores anteriormente


ingresados:
BI

• La asignación óptima es: 1 0 1 1 0 0 1 1 1 6 0 0 0 8 0 0, con un retorno de


291.078

• Las asignaciones cercanas a la óptima con un retorno mayor a 290.778 son:


2
Esta implementación es para funciones polinómicas, pero una simple modificación permite su
uso para funciones más complejas.

59
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

– 1 0 1 1 0 0 1 1 1 9 0 0 0 5 0 0, con un retorno de 290.853;


– 1 0 1 1 0 0 1 1 1 8 0 0 0 6 0 0, con un retorno de 290.982;
– 1 0 1 1 0 0 1 1 1 7 0 0 0 7 0 0, con un retorno de 291.057;
– 1 0 1 1 0 0 1 1 1 6 0 0 0 8 0 0, con un retorno de 291.078;
– 1 0 1 1 0 0 1 1 1 5 0 0 0 9 0 0, con un retorno de 291.045;

AS
– 1 0 1 1 0 0 1 1 1 4 0 0 0 10 0 0, con un retorno de 290.958;
– 1 0 1 1 0 0 1 1 1 3 0 0 0 11 0 0, con un retorno de 290.817.

IC
• Existen 7 soluciones cercanas a la óptima.

S
• Tiempo de duración de la ejecución es 0.064 segundos.

AS FÍ
IC AS
ÁT CI
EM IEN
AT C
M DE
CA
TE
Y
IO
BL
BI

60
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Capı́tulo 3

AS
IC
Aplicación del método

S
combinatorio-aproximante en la

AS FÍ
solución de problemas de

IC AS
programación matemática ÁT CI
EM IEN

En el presente capı́tulo mostraremos un problema de programación entera con


tres restricciones y lo resolveremos mediante el método combinatorio-aproximante,
AT C

para ello se hará uso de la clase de funciones desarrolladas en la Subsección 2.3.3.


M DE

3.1 Problemas de programación entera con dos o


más restricciones
CA

La programación entera estudia la clase de problemas de programación matemática


TE

donde algunas o todas las variables son enteras. En los problemas de programación
Y

entera más estudiados, la función objetivo es lineal y las restricciones son desigual-
IO

dades lineales. Los problemas de programación entera suelen ser mucho más difı́ciles
de resolver que los problemas de programación lineal porque el conjunto de soluciones
BL

factibles ya no es convexo. Para un estudio completo de los diferentes problemas de


programación entera ası́ como los diferentes algoritmos existentes para abordar estos
BI

tipos de problemas se recomienda ver [21].

61
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Consideremos el siguiente problema de programación entera:


N
X
Maximizar ϕ(x1 , x2 , . . . , xn ) = gi (xi )
i=1
N (3.1)
X
s.a. aij (xi ) ≤ bj , j = 1, 2, . . . , n, n ≥ 2,

AS
i=1

donde xi ≥ 0 entero para cada i = 1, 2, . . . N ; para cada i, j la función aij ≥ 0 es


inyectiva y toma valores enteros para xi = 0, 1, . . .; bj ≥ 0 es un número entero para

IC
cada j = 1, 2, . . . , n y cada gi es una función real para i = 1, 2, . . . N .

S
Observación 3.1 Notemos que el problema de programación entera (3.1) es general

AS FÍ
debido a que no se exige que la función objetivo sea lineal o que las restricciones sean
desigualdades lineales.

IC AS
A seguir abordaremos el Problema (3.1) mediante el método combinatorio-aproximante
descrito en la Sección 2.2. Se requiere determinar α ∈ Ω tal que
ÁT CI
ϕ(α) = max ϕ(ω),
EM IEN

ω∈Ω

aquı́ Ω es el conjunto de ω = (x1 , x2 , . . . , xN ) con componentes enteras, que satisface


las n restricciones del Problema (3.1) y ϕ es definido por la fórmula (3.1).
AT C

Para cada j = 1, 2, . . . , n denotemos por M j al conjunto de ω con componentes


enteras que satisfacen sólo la j-ésima restricción del Problema (3.1) y por Ω e :=
M DE

[n \n
M j . Es evidente que Ω = M j.
j=1 j=1
Fijemos C  0 una constante tan grande como sea necesaria. Para cada j =
CA

1, 2, . . . , n definamos

TE

ϕ(ω), ω ∈ M j ,
Y

P j (ω) = (3.2)
−C, ω∈Ω e \ M j,
IO

y 
ϕ(ω), ω ∈ Ω,
BL

f (ω) = (3.3)
−C, ω∈Ω e \ Ω.

Notemos que para cada j = 1, 2, . . . , n tenemos que f (ω) = P j (ω) para ω ∈ Ω y


BI

obviamente f (ω) ≤ P j (ω) para ω ∈ Ωe \ Ω. Luego

f (ω) ≤ P j (ω), (3.4)

para cada ω ∈ Ω e y j = 1, 2, . . . , n.
Para cada j = 1, 2, . . . , n tenemos de (3.4) que f (α) ≤ P j (α) y el óptimo, α0j ∈ Ω,
e
de la función P j es determinado mediante el algoritmo de Bellman. En la Subsección

62
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

2.3.3 se desarrolló un algoritmo para determinar un subconjunto Ωj0 ⊂ Ω de todos los


ω cercanos al óptimo para una constante dada. Portanto, para cada j = 1, 2, . . . , n
tenemos que P j es una función aproximante de f y por consiguiente de ϕ.
\n
Sea Ω0 := Ωj0 . Se determina
j=1

AS
e ∈ Ω0
α α) = max f (ω).
tal que f (e
ω∈Ω0

Haciendo uso del Corolario 2.9 se determina si el problema está estudiado, par-

IC
cialmente estudiado o no estudiado según la Definición 2.1. De la definición de f se
sigue que si Ω 6= ∅ , entonces f (α) = ϕ(α).

S
Vale notar que cuando las funciones (3.1) tienen una forma algo “complicada”,

AS FÍ
para mejorar la eficiencia de los cálculos se puede intentar aproximarlas por funciones
más “simples” de la clase correspondiente de funciones aproximantes (por ejemplo,

IC AS
lineales convexas, cóncavas).

Ejemplo de aplicación
ÁT CI
EM IEN

Maximizar −x21 + 10x1 + x2 + 20 + 0.5x23 − 6x3 − 10 + 2x4 − 10 (3.5)


s.a. x1 + 2x2 + 2x3 + 2x4 ≤ 17, (3.6)
AT C

2x1 + x2 + 2x3 + x4 ≤ 15, (3.7)


M DE

x1 + 2x2 + 3x3 + x4 ≤ 11. (3.8)

Resolveremos este problema usando lo desarrollado en este capı́tulo. Para eso


CA

consideremos

ϕ(x1 , x2 , x3 , x4 ) = −x21 + 10x1 + x2 + 20 + 0.5x23 − 6x3 − 10 + 2x4 − 10.


TE
Y

Como fue expuesto anteriormente, definamos

M1 ={(x1 , x2 , x3 , x4 ) ∈ N40 | x1 + 2x2 + 2x3 + 2x4 ≤ 17},


IO

M2 ={(x1 , x2 , x3 , x4 ) ∈ N40 | 2x1 + x2 + 2x3 + x4 ≤ 15},


BL

M3 ={(x1 , x2 , x3 , x4 ) ∈ N40 | x1 + 2x2 + 3x3 + x4 ≤ 11},


e = M1 ∪ M2 ∪ M3 y Ω = M1 ∩ M2 ∩ M3 . Para cada j = 1, 2, 3 definamos
además Ω
BI


ϕ(ω), ω ∈ M j,
P j (ω) =
e \ M j,
−10000, ω ∈ Ω
y 
ϕ(ω), ω ∈ Ω,
f (ω) =
−10000, ω ∈ Ω
e \ Ω.

63
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Notemos que resolver el Problema (3.5) sujeto a (3.6), (3.7) y (3.8) es equivalente
a determinar α ∈ Ω
e tal que
f (α) = max f (ω). (3.9)
ω∈Ω
e

Además cada función P 1 , P 2 y P 3 es una función aproximante de f . Determi-


namos α01 , α02 , α03 ∈ Ω
e tal que

AS
P j (α0j ) = max P j (ω),
ω∈Ω
e

IC
para j = 1, 2, 3 mediante la implementación dada en el Capı́tulo 2 y obtenemos los
siguientes resultados:

S
AS FÍ
α01 = (5, 0, 0, 6), con P 1 (α01 ) = 37,
α02 = (3, 0, 0, 9), con P 2 (α02 ) = 39,

IC AS
α03 = (4, 0, 0, 7), con P 3 (α03 ) = 38,

ÁT CI
Fijemos C f ≤ mini=1,2,3 P i (α0i ) y determinemos R1 , R2 y R3 mediante
EM IEN

C f = P i (α0i ) − Ri ,

donde i = 1, 2, 3, para obtener el conjunto de las soluciones cercanas a la óptima


Ωi0 (C f ), es decir, ω ∈ Ω
e tal que
AT C

P i (α0i ) − Ri ≤ P i (ω) ≤ P i (α0i ),


M DE

para cada i = 1, 2, 3.

• Para C f = 36.5
CA

ω ∈ Ω10 (C f ) P 1 (ω) ω ∈ Ω20 (C f ) P 2 (ω) ω ∈ Ω30 (C f ) P 3 (ω)


TE

(5, 0, 0, 6) 37 (3, 0, 0, 8) (3, 0, 0, 8) 37


Y

(4, 1, 0, 6) (3, 0, 0, 8) 38
IO

(4, 0, 0, 7) (3, 0, 0, 8) 37
(3, 2, 0, 7)
BL

(3, 1, 0, 1)
(3, 0, 0, 9)
BI

(2, 1, 0, 10)
(2, 0, 0, 11)

Luego
Ω0 = Ω10 (C f ) ∩ Ω20 (C f ) ∩ Ω30 (C f ) = ∅,
y el problema no está estudiado.

64
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

ω ∈ Ω10 (C f ) P 1 (ω) ω ∈ Ω20 (C f ) P 2 (ω) ω ∈ Ω30 (C f ) P 3 (ω)


(4, 0, 0, 6) 36 (4, 0, 0, 6) 36 (4, 0, 0, 6) 36
(5, 1, 0, 5) 36 (3, 1, 0, 7) 36 (5, 0, 0, 6) 37
(5, 0, 0, 6) 37 (3, 0, 0, 8) 37 (4, 0, 0, 7) 38
(2, 0, 0, 10) 36 (3, 0, 0, 8) 37

AS
(4, 2, 0, 5) 36
(4, 1, 0, 6) 37

IC
(3, 3, 0, 6) 36
(4, 0, 0, 7) 38

S
(3, 2, 0, 7) 37

AS FÍ
(3, 1, 0, 8) 38
(3, 0, 0, 9) 39

IC AS
(2, 2, 0, 9) 36
(2, 0, 0, 10) 36
ÁT CI (2, 1, 0, 10) 37
(2, 0, 0, 11) 38
EM IEN

• Para C f = 36
AT C

Tenemos
Ω0 = Ω10 (C f ) ∩ Ω20 (C f ) ∩ Ω30 (C f ) = {(4, 0, 0, 6)}.
M DE

e ∈ Ω0 es tal que
Desde que α
CA

f (e
α) = max f (ω),
ω∈Ω0

tenemos que α
e = (4, 0, 0, 6). Además, dado que
TE
Y

α) ≥ C f = 36,
f (e
IO

por el Corolario 2.9, tenemos que α = α e = (4, 0, 0, 6) es la solución óptima.


De esta manera el problema está estudiado.
BL
BI

65
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Conclusiones

AS
IC
Después de haber realizado y analizado el presente informe se obtienen las si-

S
guientes conclusiones:

AS FÍ
• De acuerdo al problema planteado en este trabajo:
¿Es posible reducir la búsqueda de elementos w ∈ Ω en problemas de opti-

IC AS
mización en formulación combinatoria mediante el método combinatorio pro-
puesto? ÁT CI
Se afirma que: Sı́, sı́ es posible reducir el número de elementos ω ∈ Ω me-
diante el método combinatorio-aproximante presentado en el Capı́tulo 2. De
EM IEN

lo expuesto en el presente trabajo esto se consigue a partir de las funciones


aproximantes, y la efectividad del método se determina por la cantidad de
elementos del conjunto Ω0 ⊂ Ω, la cual debe ser sustancialmente menor que
AT C

Ω. Además los criterios de optimización desarrollados en el Capı́tulo 2 deter-


M DE

minan si el problema está estudiado, parcialmente estudiado o no estudiado


según la Definición 2.1.

• En el presente trabajo se observó que es posible estudiar los problemas de op-


CA

timización en su formulación combinatoria mediante el método combinatorio-


aproximante. Además la teorı́a fue aplicada para resolver un problema de pro-
TE

gramación matemática, cumpliendo ası́ los objetivos de este trabajo.


Y
IO
BL
BI

66
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

Referencias bibliográficas

AS
IC
[1] Aragonés, N. (2015). Minimización de funciones supermodulares. Selecciones

S
matemáticas, 2(02), 49-52.

AS FÍ
[2] Aragonés, N. (2017). Minimización de funciones supermodulares en un retı́culo
finito relativamente complementado. Selecciones matemáticas, 4(02), 175-176.

IC AS
[3] Aragonés, N. (2018). Minimización y maximización de funciones casisupermod-
ulares. Selecciones matemáticas, 5(02), 204-211.
ÁT CI
[4] Aragonés, N. & Khachaturov V. (2007). Sistema de modelos económico -
EM IEN

matemáticos para la planificación de desarrollo agrı́cola regional de un paı́s


(para la Repúplica del Perú).
AT C

[5] Bellman, R. & Dreyfus S. (2015). Applied dynamic programming (Vol. 2050).
New Jersey: Princeton university press.
M DE

[6] Benson, H. (1995). Concave minimization: theory, applications and algorithms.


In: Handbook of global optimization (pp. 43-148). Boston: Springer.
CA

[7] Bonifaz, J. & Lama, R. (2013). Optimización dinámica y teorı́a económica.


Lima: Universidad del Pacı́fico.
TE
Y

[8] Bazaraa, S., Jarvis, J. & Sherali, H. (2011). Linear programming and network
flows. New Jersey: John Wiley & Sons.
IO

[9] Cherenin, V. (1962). Solving some combinatorial problems of optimal planning


BL

by the method of successive calculations. Proceedings of the Conference on


Experiences and Perspectives of the Applications of Mathematical Methods and
BI

Electronic Computers in Planning, (in Russian).

[10] Cooper, L. (1975). The fixed charge problem- I: A New heuristic method. Com-
puters & Mathematics with Applications, 1(1), 89-95.

[11] Cooper, L. & Drebes C. (1967). An Approximate solution method for the fixed
charge problem. Naval Research Logistics Quarterly, 14(1), 101-113.

67
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

[12] Cherenin, V. & Petrov, A. (1948). An Improvement of train gathering plans


design methods. Zheleznodorozhnyi Transport, 3, 60-71.

[13] Dantzig, G. (1998). Linear programming and extensions. New Jersey: Princen-
ton university Press.

AS
[14] Dantzig, G. & Hirsch, W. (1968). The Fixed charge problem. Naval Research
Logistics Quarterly, 15(3), 413-424.

IC
[15] Drexl, A. & Klose, A. (2005). Facility location models for distribution system
design. European Journal of Operational Research, 162(1), 4-29.

S
AS FÍ
[16] Dantzig, G. & Thapa, M. (2006). Linear programming 2: theory and extensions.
New York: Springer Science & Business Media.

IC AS
[17] Fujishige, S. (2005). Submodular functions and optimization (Vol. 58). New
Jersey: Elsevier.
ÁT CI
[18] Goldengorin, B., Sierksma, G., Tijssen, G. & Tso, M. (1999). The data-
EM IEN

correcting algorithm for the minimization of supermodular functions. Manage-


ment Science, 45(11), 1539-1551.

[19] Hadley, G. (1964). Nonlinear and dynamic programming. Massachussetts:


AT C

Addison-Wesley.
M DE

[20] Hirsch, W. & Hoffman, A. (1961). Extreme varieties, concave functions, and
the fixed charge problem. Communications on Pure and Applied Mathematics,
14(3), 355-369.
CA

[21] Jünger, M., Liebling, T. M., Naddef, D., Nemhauser, G. L., Pulleyblank, W. R.,
TE

Reinelt, G., ... & Wolsey, L. A. (Eds.) (2009). 50 Years of integer programming
Y

1958-2008: From the early years to the state-of-the-art. New York: Springer
Science & Business Media.
IO

[22] Khachaturov, V. (1968). Some problems of the consecutive calculation method


BL

and its applications to location problems (Doctoral dissertation, Ph. D. thesis,


Central Economics & Mathematics Institute, Moscow (in Russian)).
BI

[23] Khachaturov, V. (1983). Método aproximativo-combinatorio de decomposición


y composición de sistemas y su aplicación en la solución de problemas de pro-
gramación regional. ICM-82, Warszawa, Short communs V, sec. 16: Combina-
torics and Math Program. Materiales del congreso matemático internacional,
(in Russian).

68
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

[24] Khachaturov, V. (1989). Mathematical methods of regional programming (in


Russian). Moscow: Science, 5-41.

[25] Kreyszig, E. (1994). On the Calculus of variations and its major influences on
the mathematics of the first half of our century. Part I. The American Mathe-
matical Monthly, 101(7), 674-678.

AS
[26] Kreyszig, E. (1994). On the Calculus of variations and its major influences

IC
on the mathematics of the first half of our century. Part II. The American
Mathematical Monthly, 101(9), 902-908.

S
[27] Khachaturov, R., Khachaturov, R. & Khachaturov, V. (2012). Supermodular

AS FÍ
programming on finite lattices. Computational Mathematics and Mathematical
Physics, 52(6), 855-878.

IC AS
[28] Korte, B. & Vygen, J. (2005). Combinatorial optimization: Theory and algo-
rithms. Germany: Springer-Verlag, third Edition.
ÁT CI
[29] Pontryagin, L. (2018). Mathematical theory of optimal processes. Routledge.
EM IEN

[30] Papadimitriou, C. & Steiglitz, K. (1982). Combinatorial optimization: Algo-


rithm and Complexity (Vol. 24). USA: Prentice Hall.
AT C

[31] Steinberg, D. (1970). The fixed charge problem. Naval Research Logistics Quar-
M DE

terly, 17(2), 217-235.

[32] Vondrák, J. (2007). Submodularity in combinatorial optimization (Doctoral dis-


sertation, Ph. D. thesis, Charles University, Czech Republic).
CA
TE
Y
IO
BL
BI

69
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

AS
S IC
AS FÍ
IC AS
ÁT CI
EM IEN
AT C
M DE
CA
TE
Y
IO
BL
BI

Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT

AS
S IC
AS FÍ
IC AS
ÁT CI
EM IEN
AT C
M DE
CA
TE
Y
IO
BL
BI

Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/