Академический Документы
Профессиональный Документы
Культура Документы
CAPITULO3.FORMULACIONYOPTIMIZACION
DEMODELOS
ObjetivosdelCaptulo
3.0Introduccin
Eldesarrollodelosmtodosdeoptimizacin,segnmuchosautores,harepresentadouno
delosavancescientficosmsimportantesdesdemediadosdelsigloXX.Actualmenteson
unaherramientautilizadaenmuchoscamposdelaadministracin,delaeconomaydela
ingeniera.Existenmuchoslibrosdetextosobreeltemaymilesdeartculoscientficosen
revistasespecializadas.
Los mtodos de optimizacin tienen como base el mtodo cientfico para investigar y
ayudaratomardecisionessobrelosproblemascomplejosdelasorganizacionesdehoyen
da. Bsicamente siguen los pasos siguientes: (1) la observacin de un problema, (2) la
construccin de un modelo matemtico que contenga los elementos esenciales del
CAPITULO3.FORMULACIONYOPTIMIZACIONDEMODELOS
problema, (3) la obtencin, en general con la utilizacin deunordenador, de las mejores
soluciones posibles con la ayuda de algoritmos exactos o heursticos y finalmente (5), la
calibracinylainterpretacindelasolucinysucomparacinconotrosmtodosdetoma
dedecisiones.
Unejemplosimple,elproblemadelaasignacin,nospuedeservirparailustrarladificultad
esencialdelosmtodoscuantitativos.UnaEmpresatiene70empleadosconcalificaciones
diferentes(Administradores,Ingenieros,personalAuxiliar,etc.)quehemosdeasignara70
tareastambindiferentes.Sipudiramosdeterminarunvalorquereflejaselaasignacinde
un empleado a una tarea determinada, tendramos que escoger una entre 70! formas
posiblesdepermutacindelasasignacionesquemaximiceelvalortotal.Cmoque70!es
aproximadamenteiguala10100,necesitaramosunordenadorqueejecutase1.000.000de
operaciones por segundo durante aproximadamente 1087 aos, para examinar todas las
permutaciones. Problemas de decisin como ste son muy comunes y se tienen que
desarrollar modelos de programacin matemtica, mtodos matemticos para obtener
solucionesalosmodelos,yalgoritmosdeordenadormuyeficientes.
3.1ProgramacinLineal:FormulacindeProblemas
Laprogramacinlinealesuncasoespecialdelaprogramacinmatemtica,endondetodas
las funciones que hay en el modelo son lineales: siempre tenemos una funcin objetivo
linealaoptimizar(maximizarominimizar),sujetaarestriccioneslinealesindividuales.Las
variablesdelmodelo,quesoncontinuas,nicamentepuedencogervaloresnonegativos.Si
bienpuedeparecerqueestossupuestosquitanrealismoalproblemaporqueelmodelador
est limitado al uso de ecuaciones que quizs no son frecuentes en el mundo real, las
tcnicasdeprogramacinlinealseutilizanenunamplsimoespectrodeproblemascomo,
entreotros,deplanificacinygestinderecursoshumanosymateriales,detransporte,de
planificacinfinancieraydeorganizacindelaproduccin.Endefinitiva,unaextensagama
de problemas que aparecen en las reas de tipo industrial, econmico, administrativo,
militar...
3.1.2OrgenesdelaProgramacinLineal
Un matemtico ruso, Leonid Vitalievitx Kantorovitx, que public una extensa monografa
en 1939, Matematitxeskie Metodi Organisatsi i Planirovaniia Proisvodstva (Mtodos
matemticos para la organizacin y planificacin de la produccin) fue el primer
investigadorenreconocerqueunaampliagamadeproblemasdeproduccinydistribucin
tenanunaestructuramatemticay,queporlotanto,sepuedanformularconunmodelo
matemtico. Desgraciadamente sus propuestas fueron desconocidas tanto en Unin
Soviticacomoeneloccidentedurantedosdcadas.Duranteesteperiodo,laprogramacin
linealexperimentungrandesarrollotantoenEstadosUnidoscomoenEuropa.Despus
de la segunda guerra mundial, funcionarios del gobierno americano consideraron que la
coordinacin de las energas de toda una nacin debido al peligro de una guerra nuclear
requerira la utilizacin de tcnicas cientficas de planificacin. Con la aparicin del
ordenador esto se hizo posible. Se crearon instituciones como la Corporacin RAND en
dondeingenierosymatemticossepusieronatrabajarintensamenteenlaformulaciny
resolucin de problemas matemticos aplicados a la toma de decisiones. Entre otros, se
propusounmodelodeprogramacinlinealporsusimplicidadyaplicabilidad,sindejarde
dar un marco lo suficientemente amplio para representar actividades interdependientes
que han de compartir recursos escasos. El sistema (como, por ejemplo, la produccin
industrial) se compone de diversas actividades relacionadas entre ellas (formacin,
fabricacin, almacenaje, transporte, distribucin y venta). Este fue el primer modelo de
programacinlinealconocido.
EnquconsistelaProgramacinLineal?
LaProgramacinlineal(PLdeahoraenadelante)consisteenencontrarlosvaloresdeunas
variablesquemaximizanominimizanunnicoobjetivosujetoaunaseriederestricciones.
LasprincipalescaractersticasdePLson:
1. Unnicoobjetivolinealaoptimizar(maximizarominimizar)
2. Unasvariablesdedecisinquesiempresoncontinuas2ynonegativas
3. Unaomsrestriccioneslineales
4. Unconocimientoexactodelosparmetrosyrecursosutilizadosenlaconstruccin
delmodelo. 3.1ProgramacinLineal:FormulacindeProblemas
Sitodasestascondicionessecumplen,existenvariosmtodosdeobtencindesoluciones
quenosdanlasolucinptimaconuncostocomputacionalrelativamentereducido.Como
veremosmsadelante,inclusolamspopulardelasHojasdeClculo,Excel,incorporauna
herramientapararesolverprogramaslineales.
Acontinuacinanalizaremosconmsdetallesestascaractersticasyloqueocurresiunao
variasdeellasnosecumplen.
En primer lugar, cabe destacar que en la PL todas las funciones utilizadas tanto en el
objetivo como en las restricciones son lineales. Es decir, las restricciones consisten en la
2
Porcontinuasseentiendequepuedentomarvaloresfraccionados
suma de variables multiplicadas por sus respectivos parmetros, siendo esta funcin
menor, igual o mayor que un determinado recurso. El objetivo tambin es lineal, si bien
desconocemos a priori su valor. En caso de que tanto el objetivo como una o ms
restriccionesnofueranlineales,seranecesarioelintroducirmtodosdeprogramacinno
lineal, que son mucho ms complejos de resolver y cuya optimalidad no siempre est
garantizada.
En segundo lugar, la PL considera que las variables de decisin son continuas. Desde el
punto de vista matemtico de obtencin de soluciones, esta caracterstica no ofrece
problemas.Ahorabien,enmuchassituaciones,lainterpretacineconmicadelasolucin
de un problema de PL no tiene sentido si obtenemos fracciones en las variables. Por
ejemplo,siestamosasignandotrabajadoresatareas,notienesentidounresultadoqueen
unmomentodeterminadoasigne3,4trabajadoresaunadeterminadatarea.Porotrolado,y
como veremos ms adelante, si uno opta por redondear al enteroms prximo se puede
cometer un grave error. Para poder obtener soluciones enteras en problemas que lo
requieren,seutilizalaProgramacinlinealEntera,queserobjetodeestudioenelcaptulo
cuartodeestelibro.
En tercer lugar, los modelos de PL consideran que hay un nico objetivo a maximizar o
minimizar. Muchas veces podemos tener que resolver problemas que tienen ms de un
objetivo. Por ejemplo, por un lado podemos querer maximizar la cobertura de un
determinado servicio sanitario, mientras que por el otro queremos reducir los costos
generales. Ambos objetivos son conflictivos, en el sentido de que aumentar la cobertura
significara un aumento en la necesidad de recursos con el consecuente incremento de
costos en el sistema. Esta conflictividad se resuelve utilizando mtodos de Programacin
Multicriterioomultiobjetiva,presentadosenelcaptuloquintodeestelibro.
3.1.3FormulacindeModelos
En esta seccin se presentan algunos ejemplos de los problemas con los cuales se puede
encontrar una organizacin y como la programacin lineal puede expresarlos
matemticamente.
UnProblemadeasignacindepersonal
ElhospitalESSaludhadecididoampliarsuserviciodeurgencias(abiertolas24horas)con
la consiguiente necesidad de nuevo personal de enfermera. La gerencia del hospital ha
estimadolasnecesidadesmnimasdepersonalportramoshorariosparapodercubrirlas
urgencias que se presenten. Se definieron 6 tramos de 4 horas. La necesidad mnima de
personal en cada tramo se indica en el Cuadro 3.1. Por otro lado, el departamento de
recursoshumanoshainformadoagerenciaqueloscontratoslaboraleshandeserdeocho
horasseguidas, segnelConveniofirmadocon lossindicatos,independientementedelos
horariosdeentradaysalidadelpersonal.Elproblemaesencontrarelnmeromnimode
personalnecesarioparacubrirlademanda.
TramosHorarios
1 2 3 4 5 6
J
0:004:00 4:008:00 8:0012:00 12:0016:00 16:0020:00 20:0024:00
PersonalNj 9 5 3 7 5 6
Cuadro3.1:Necesidadesdepersonalportramoshorarios
Formulacindelproblema:
Enprimerlugar,setienenquedefinirlasvariablesdelmodeloquequeremosdesarrollar.
Como hemos de controlar en nmero de personal en cada turno, definimos Xj como la
cantidaddepersonalqueentraatrabajarenelturnoj,endondej=1,...,6.Esdecir,hayuna
variableparacadaturno.
Lasrestriccionesdelmodelotienenquereflejarlanecesidaddequelacantidaddepersonal
queentrenenelperiodojmselnmerodepersonasqueentraronatrabajarenelturnoj
1seasuficienteparacubrirlasnecesidadesdelturnoj(Nj).Estasituacinquedareflejada
enelCuadro3.2.Enestatabla,untrabajadorqueentraatrabajar,porejemplo,alas4:00,
trabajarenlosturnos2y3,yportanto,contribuiracubrirlasnecesidadesdeestosdos
turnos.Enotraspalabras,elturnojestarsiendoatendidoporXj1yXj.Enconsecuencia,
tendremos que Xj1 + Xj (el personal que trabaja durante el turno j) tiene que ser, como
mnimo,igualaNj,queeselnmeromnimodepersonaldeenfermeranecesarioparaeste
turno.Entrminosmatemticoslarestriccineslasiguiente:
Xj1+Xj>Nj 3.1ProgramacinLineal:FormulacindeProblemas
Habrunarestriccinparacadahorariodeentrada.
min
. .
9
5
3
7
5
6
0, 1, , 6
TramosHorarios
1 2 3 4 5 6
0:004:00 4:008:00 8:0012:00 12:0016:00 16:0020:00 20:0024:00
00:00 X1 X1
04:00 X2 X2
08:00 X3 X3
12:00 X4 X4
16:00 X5 X5
20:00 X6 X6
PersonalNj 9 5 3 7 5 6
Cuadro3.2:Necesidadesdepersonal
Unproblemadeasignacinderecursos
ElgerentedelhospitalESSaludhaobservadoquealgunosdesusserviciostienencapacidad
ociosa. Siguiendo una propuesta realizada por el equipo mdico, esta capacidad ociosa
podraaprovecharseparaintroducirdostiposnuevosdeciruga,AyB.Tantolospacientes
detipoAcomolosdetipoBtienenquepasarprimeroporunasaladeprecirugay,unavez
pasadoporelquirfanotienenqueestarenobservacinenunasalapostoperatoria,queno
existe de momento. El equipo mdico ha estimado el tiempo medio que necesita cada 3.1ProgramacinLineal:FormulacindeProblemas
pacientedetipoAydetipoBencadaunodelosserviciosprequirrgico(PQ),quirrgico
(QI)ypostoperatorio(PO).Laexperienciaenunhospitalsimilarmuestraqueporcadatres
pacientesdetipoAquelleganalhospitalcomomnimollegaunodetipoB.Porotraparte,
sehaestimadoelcostodecadapacienteenlosdiferentesservicios.ElCuadro3.3muestra
losdatosdelproblema,teniendoencuentaquelacapacidadociosaesenhorasmensualesy
elcostoporpacienteennuevossoles.
HorasNecesariasdeCiruga
Capacidad
A B Ociosa
SalaPQ 1 3 144
SalaQI 3 2 162
SalaPO 4 2
Costo 13 18
Cuadro3.3:EstimacioneshorariasdelascirugasAyB
Formulacinmatemticadelproblema:
Primerodefinimoslasvariablesdelmodelo.SeanX1yX2elnmerototaldepacientespor
mes que pueden ser tratados con la ciruga A y B respectivamente. A continuacin se
presentanlasrestricciones.
X1+3X2 144
Elmismorazonamientopuedeserutilizadoparadeterminarelnmerolmitedehorasen
lasalaQI.Comoeltotaldehorasconsumidasseriguala3X1+2X2,yhayunmximode
162horasdisponibles,larestriccinsobreQIser:
3X1+2X2 162
Elgerentehadeterminadoque,paraviabilizarlosnuevostratamientos,setienequeocupar
la nueva sala PO durante un mnimo de 135 horas al mes. Como el nmero de horas
mensualesqueseutilizarenPOesiguala4X1+2X2,tendremosque:
3.1ProgramacinLineal:FormulacindeProblemas
4X1+2X2>135
Laexperienciaenotroshospitalesmuestraque,porcada3pacientesdetipoA,vienecomo
mnimounpacientedetipoB.Matemticamente,estoseexpresacomo:
queesequivalentea:
X13X2 0
Finalmente,elgastomensualrealizadoenlasdoscirugasnopuedeexcederS/.982.Como
cada paciente de tipo A y de tipo B cuesta 13 Nuevos soles y 18 Nuevos soles
respectivamente, el gasto total mensual ser de 13X1 + 18X2, cantidad que no puede
excederS/.982,tendremosque:
13X1+18X2 982
MaxZ=X1+X2
Enresumen,laformulacindelproblemaeslasiguiente:
max
. .
144
3 2 162
4 2 135
3 0
13 18 982
, 0
Unproblemadetransporte
ElhospitalESSaludtieneunCentrodeAsistenciaPrimaria(CAP)ennpueblosyciudades
de una regin (un CAP en cada centro urbano). Para obtener un buen funcionamiento
globaldelservicioypoderplanificarelnmerodevisitasenfuncindelpersonalprevisto
encadaCAPydesudimensin,ESSaludhadecididoorganizarelserviciodetalformaque
todos sus asegurados tengan un CAP de referencia asignado, pero que sea ste el ms
cercanoposibleasulugarderesidencia.Enlareginhaymciudadesypueblos(siendom
mucho mayor que n) y se sabe cuantos asegurados tiene en cada uno de ellos. Los CAP 3.1ProgramacinLineal:FormulacindeProblemas
tienenunacapacidadmximadepacientesquepuedensoportar.Elobjetivoesasignaralos
aseguradosalosCAPsminimizandoelcostooladistanciatotal.
En primer lugar se definen los parmetros necesarios para formular el modelo. Sea ai el
nmerodeaseguradosenelcentrourbanoi,i=1,...,m.Seabjelnmerototaldeasegurados
queelCAPjpuedetenerasignadoscomomximo,j=1,...,n.Sedefinecijcomoelcostode
desplazamientoentreiyj.
Comosenecesitaconocercuantaspersonasdelcentrourbanoisernasignadasalcentroj,
sedefinelavariableXijcomoelnmerodepersonasqueprovienendelcentrourbanoique
sernatendidasporelCAPj.
Unavezdefinidoslosparmetrosylasvariables,necesitamosdefinirlasrestriccionesdel
modelo.Enesteproblemahaydostiposderestricciones.Laprimeravienedefinidaporla
capacidad de atencin mxima de los CAPs. El nmero total de asegurados asignados al
CAPjnopuedeexcedersucapacidadbj.ParaunCAPdeterminadoj,nopodemosasignarla
poblacinquelaquedeterminasucapacidadmxima
X1j+X2j+...+Xij+...+Xmj<bj
Entrminosmatemticos:
1, ,
Elsegundogrupoderestriccionestienequeconsiderarquehemosdeasignarlatotalidad
delosaseguradosdeESSaluddecadacentrourbanoialosCAPsexistentes.
1, ,
Finalmente,setienequeformularelobjetivodeminimizacintotaldeladistanciaocosto
totaldelsistema.Estevienedefinidopor:
c11X11+c12X12+...+c1nX1n+...+cijXij+...+cm1Xm1+...+cmnXmn 3.1ProgramacinLineal:FormulacindeProblemas
quepodemosreescribirenformacompactacomo:
min
Enresumen,laformulacincompletadelmodeloeslasiguiente:
min
1, ,
1, ,
0 1, , ; 1, ,
Se tiene que observar que este problema presenta una peculiaridad que no est en la
formulacin. Para que el problema tenga una solucin factible, el nmero total de
asegurados no puede exceder la capacidad total de los CAPs. Es decir, existe la siguiente
restriccinimplcitaenelmodelo:
Siestonoseverificara,elproblemanotendrasolucin.
UnproblemadeProgramacinFinanciera
correspondientetambinsereducirenlamismaproporcin.Elproblemaqueseplantea
Pacfico SAes cuanto invertir encada proyecto para maximizar el dineroen efectivoque
tendrlaempresaendosaos.
Formulacinmatemticadelproblema:
Siguiendo nuestro esquema habitual, una vez el problema ha sido identificado y los
parmetros del modelo han sido definidos, se tienen que definir las variables. Sea X1 el
porcentajedeparticipacinenelproyectoPositivayX2elporcentajedeparticipacinenel
proyectoRimacSA(0<X1<1;0<X2<1).Porotrolado,seanS0,S6,S12yS18eldineroque
sedepositarenelfondoenlosperiodos0,612y18respectivamente.
1. participarenelproyectoPositiva,queimplicaradesembolsar1.000.000X1dlares
enelperiodo0;
2. participarenelproyectoRimac,teniendoquegastar800.000X2;
3. depositareldineroal7%
Estasopcionesnosonexcluyentesentreellas.Porlotanto,setienequecumplirlasiguiente
ecuacindeequilibrio:
1.500=1.000X1+800X2+S0
500+500X2+1,07S0=700X1+S6
400+1.800X1+1,07S6=200X2+S12
En el periodo 18, los ingresos que tendr la empresa vendrn de inversiones anteriores
(380.000), del proyecto Positiva (400.000X1) y del depsito realizado en el periodo
anteriorincluyendolosintereses(1,07S12).Conestedinerotendrquerealizarungastode
380+400X1+1,07S12=700X2+S18
Finalmente,alcabodedosaos(periodo24),laempresatendrnicamenteingresosyno
tendrningngasto.Losingresosprovienendelosdosproyectos(600.000X1+2.000.000
X2)ydeldinerodepositadoenelperiodoanterior,1,07S18.SisedefineZcomolosingresos
realizadosenelperiodo24enmilesdedlares,tendremosque:
Z=600X1+2.000X2+1,07S18
quenoesmsqueelobjetivodelproblema:Maximizarlosingresosalcabodedosaos.
Finalmente, como solo se puede invertir un mximo de 100% en cada proyecto, las
variablesX1yX2nopuedenexcederlaunidad.Porlotanto,hayqueaadirlasrestricciones
siguientes:
X1<1
X2<1
Enresumen,reordenandolostrminostendremosqueelprogramalinealseescribedela
formasiguiente:
3.2ProgramacinLineal:MtodosdeResolucin
3.2.1Elmtodogrfico
Estemtodoesmuysimpledeutilizar,perosolopuedeseraplicadoaproblemascondos
variables. Por otro lado, es muy til para entender las propiedades matemticas de la
programacin lineal. Consideremos el problema lineal siguiente, correspondiente el
problemadeasignacinderecursoslaseccinanterior,sinlarestriccindellosrecursos
necesariosmnimosenlasalapostoperatoria(PO)ysinlarestriccindelademanda:
max
. .
144
3 2 162
13 18 982
, 0
3.2ProgramacinLineal:MtodosdeResolucin
Figura3.1:Visualizacindeunarestriccin
Ahorasetienequeescogerlasolucinfactiblequeoptimicenuestrafuncinobjetivo,que
esZ=X1+X2.Obsrvesequenormalmenteexisteninfinitassolucionesfactiblesyserla
3
Paracualquierparejadepuntosdentrodelespaciofactible,elsegmentodelneaquelosunetambinse
encuentradentrodelconjunto.
funcin objetivo quin escoja aquella que optimiza su valor. En la programacin lineal la
funcin objetivo tambin tieneforma lineal. Se trata de determinar el valor mximo de Z
que cumpla todas las restricciones o, en otras palabras, encontrar los valores de X1 y X2,
puntosdentrodelareginfactible,quemaximicenZ.
Lamecnicaparalograrencontrarelpuntoptimosebasaenlalinealidaddelobjetivo.En
esteejemplo,elobjetivosepuedereescribirdelaformasiguiente:
X2=X1+Z
Msformalmente,unpuntodeunconjuntoconvexoesunpuntoextremosinohayningn
pardepuntosdelconjuntoconvexoendondeelsegmentodelneaquelosunepaseporel
puntoencuestin.
Otraformadeobtenerelptimoescalcularelvalordelobjetivoencadaunodelospuntos
extremos y escoger aquel punto extremo que da el mejor valor. Este punto dar el valor
ptimo.
3.2ProgramacinLineal:MtodosdeResolucin
Figura3.2:Solucingrficadelejemplo
nsituacioneesendond
Existen denohayu unanicassolucin,siinoquepu uedenhaberinfinitass
ones,oporelcontrario,noexistiirsolucinalguna.Exxaminemoselprimercasoconlaa
solucio
ayudaddelafiguraa3.3.Lareectacorresspondientealobjetivo otienelam
mismapen ndientequee
unadelasrestriccciones.Esd decir,quettodaslasco
ombinacion nesdelasd
dosvariableesentreloss
puntosAyBcumplenlasrestriccionessymaximizzanelbeneeficio.Poro otrolado,laafigura2.4
4
muestrra una situaacin en dondenohaay solucion nes. La rep
presentacin grfica((figura 3.4))
corresp
pondealprrogramalin nealsiguien nte:
max 2
. .
6
8
, 0
3.2ProgramacinLineal:MtodosdeResolucin
Figura3.3:InfinitassSoluciones
Figura3.4
4:Inexistenciaadesoluciones
3.2.2E
ElMtodo
oSimplex
mer mtod
El prim do formal para
p encon ntrar solucciones pttimas el m mtodo Simmplex fuee
desarro olladoporDantzigen n1947ymeejoradoporrCharneseentre1948 8y1952.Acctualmentee
eselmtodomsutilizadoeenlabsqu uedadesolu ucionesptimasdeprogramasllineales.En n
esteappartadoseeexaminasu ufuncionam mientodefo ormasimplleeintuitivva.
3.2ProgramacinLineal:MtodosdeResolucin
En primmer lugar recordem mos como encontrbaamos solu uciones conn el mtod do grfico.
Primerro formbaamos un co onjunto con nvexo con las restricciones del modelo. Segundo, see
dibujabbalafuncinobjetivofueradelcconjuntoco onvexodan ndounvalo orarbitrariioalpropio
o
objetivo y se iba desplazaando sta paralelam mente (ya que su peendiente es e siempree
constan nte)hasta encontrarsseconunp puntoextreemo.Intuittivamente, podemosv verqueseaa
cualsealafunci nobjetivo lineal,lassolucinpptimaseen ncontrareenunpunttoextremo,
comom mnimo4.Estoreduceebastanteeelespectro odesolucio onesdelprroblema,limitandolaa
bsqueeda del pttimo a loss puntos exxtremos. An
A as, pu
uede haberr muchsimmos puntoss
extremmos en un pproblema. Por ejemp plo, un probblema gran nde con 20
000 variables y 40000
restriccciones tien
ne exactamente 2 2000 puntos exttremos, es decir, aprroximadamente 10 . 600
4
Deciimoscomom mnimo,porqu uecomohem mosvistopueedenexistir((raramente) situacioneseendondehay
y
msdeunasoluccinptima;aanas,siemp
prehabrunnpuntoextrem moquedelvalorptimoo.
Por lo tanto, tenemos que encontrar un mtodo para reducir el nmero de soluciones
factiblesposiblesdeserptimas.Dantzighizoestasmismassuposiciones(oesocreemos)y
observprimerolascaractersticasmatemticassiguientes:
1. Elconjuntoformadoporlasrestriccionesesconvexo
2. Lasolucinsiempreocurreenunpuntoextremo
3. Unpuntoextremosiempretienecomomnimodospuntosextremosadyacentes5
Yapartirdeellasdesarrollelmtodosiguiente:
Encontrarunasolucininicialfactibleenunodelospuntosextremosdelconjunto
convexoycalcularelvalordelafuncinobjetivo.
Examinar un punto extremo adyacente al encontrado en la etapa 1 y calcular el
nuevovalordelafuncinobjetivo.Siestenuevovalormejoraelobjetivo,guardarla
nueva solucin y repetir la etapa 2. En caso contrario, ignorar la solucin nueva y
volveraexaminarotropuntoextremo.
Regla de parada: cuando no existe ningn extremo adyacente que mejore la
solucin,noshallamosenelptimo
Esdecir,quevamosdepuntoextremoapuntoextremoadyacentesiemprequepodamos
mejorar la solucin, hasta llegar a un punto en donde no existe ningn punto extremo
adyacente al que nos encontramos. Esta solucin es la ptima. Observemos de nuevo el
problemalinealpresentadoysucorrespondientesolucingrficapresentadaenlaFigura
3.2.ParaencontrarunasolucininicialenunpuntoextremopodemosfijarX1=0yX2=0y
el valor del objetivo Z ser igual a 0, solucin que corresponde al punto extremo A en la
Figura3.2.AhoraexaminamoselpuntoextremoadyacenteB,quecorrespondealospuntos
X1 = 0 y X2 = 48 y Z = 48. Como el objetivo ha mejorado, mantenemos esta solucin y
volvemos a examinar los puntos extremos adyacentes a B. Como el punto A ya lo hemos
visitado(yeraclaramenteinferior),nosquedaporverelpuntoC.EnestepuntoextremoX1
=17,X2=42.3yZ=59.3.Denuevolasolucinhamejoradoylaguardamoscomolamejor
hasta ahora encontrada. Finalmente, D es el nico punto extremo que nos queda por
3.2ProgramacinLineal:MtodosdeResolucin
examinarycomoenestepuntoX1=34yX2=30yZ=7.8elalgoritmoseparayestamosen
elptimo,yaquenoexisteningnpuntoextremoadyacentequemejoreelobjetivo.
Como hemos visto, un programa lineal est compuesto por una funcin objetivo que
queremos optimizar (maximizar o minimizar), unas variables que denominaremos
5
UnpuntoextremoAesadyacenteaunpuntoextremoBsinoexisteningnpuntoextremoentreellos.
Porejemplo,enlafigura3.2.lospuntosByDsonadyacentesalpuntoC.
Asmismo,silarestriccintieneladireccin_,podemosaadirunavariabledeexcesopara
obtener una ecuacin lineal. Por ejemplo, una restriccin de tipo X1 + X2 12 puede
transformarseenX1+X2X3=12.Lainterpretacineslamismaqueenelcasoanterior:si
enlasolucinfinalX3=0,larestriccinsecumplirconigualdad.Enestecaso,lavariable
deexcesomideelconsumoadicionalquerealizamosdeunrecursodisponible.
Siutilizamoselejemplodelaasignacinderecursos,laformacannicadelproblemaser
lasiguiente:
3.2ProgramacinLineal:MtodosdeResolucin
max
. .
3 144
3 2 162
13 18 982
LosvaloresdelasvariablesenlospuntosextremossepresentanenelCuadro3.5.
Nmerode
ValorDel
X1 X2 X3 X4 X5 Variables
Objetivo
Positivas
Laexplicacinintuitivadeestasituacineslasiguiente:siobservamosunpuntoextremo
enlaFigura3.2veremosqueenlpasandosrectascorrespondientesadosrestricciones
consignoigual.Porlotanto, dosvariablesde holguraasociadasaestasrestriccionesson
igualesa0.Estassonnuestrasvariablesnobsicas.SimiramoselCuadro3.4,veremosque
encadapuntoextremosiemprehaytresvariablespositivasydosconvalor0.
El Cuadro 3.4 nos puede ayudar a entender como funciona el algoritmo Simplex y el
vocabularioalgebraicodefinidoenestecaptulo.Escojamoscomopuntodepartidaelpunto 3.2ProgramacinLineal:MtodosdeResolucin
extremoA.Comohemosmencionadoanteriormente,elmtodoSimplexsemuevedepunto
extremoapuntoextremoadyacentesiemprequeelobjetivomejore.ElpuntoAtienedos
puntos extremos adyacentes. Ambos mejoran el objetivo. Escogemos arbitrariamente el
puntoB.EnelpuntoAtenamosunasolucinbsicafactible(dosvariablesconvalor0,X1y
X2,ylasotrasconvalorespositivos).CuandopasamosalpuntoextremoB,observamosque
una variable estrictamente positiva en A pasa a tener elvalor 0 (la variable X3) mientras
que una de las variables con valor 0 pasa a tener un valor estrictamente positivo (la
variable X2). Este proceso se repite cada vez que pasamos de punto extremo a punto
extremoadyacente:unadelasvariablesbsicas(convalorpositivo)pasa asernobsica
(valor0)yunavariablenobsicapasaaserpositiva(variablebsica).EnelpuntoD,dos
variablesquetenanvalorpositivoenelpuntoextremoadyacenteanteriorpasanatener
unvalor0.Enotraspalabras,dossolucionesbsicassonadyacentessitodas,menosunade
susvariablesnobsicas,sonlasmismas.Entonces,pasardeunasolucinbsicafactiblea
una adyacente implica el cambio del estado bsico de una variable a uno no bsico, y
viceversa.
Entrminosgenerales,elnmerodevariablesnobsicasdeunasolucinbsicasiemprees
igualalosgradosdelibertaddelsistemadeecuacionesdelaformacannica.Elnmerode
variablesbsicassiempreesigualalnmeroderestriccionesfuncionales.
Propiedadesdelassolucionesfactiblesenunpuntoextremo
Si existe una nica solucin ptima,entonces statiene que ser obligatoriamente una
solucin factible en un punto extremo (una solucin bsica factible). Si hay varias
solucionesptimas,entonces,comomnimo,tienequehaberdosqueseanfactiblesen
puntosextremosadyacentes.
Existeunnmerofinitodesolucionesfactiblesenlospuntosextremos
Siunasolucinenunpuntoextremoesigualomejor(segnelvalordelobjetivoZ)que
todaslassolucionesdelospuntosextremosadyacentes,entoncesstaesigualomejor
quetodaslasotrassolucionesentodoslospuntosextremos;esdecir,esptima.
AhoraqueyaconocemoslospasosqueefectaelmtodoSimplexparabuscarunasolucin
ptimadeunprogramalineal,hacefaltaestudiarcmoserealizanstos.Paraentenderla
mecnicadelmtodo,tenemosquedarrespuestasalaspreguntassiguientes:
Paso inicial: Cmo seleccionamos la solucin factible inicial en un punto extremo (la
solucinbsicafactibleinicial)?
Paso Iterativo: Cuando buscamos un traslado a una solucin factible en un punto
extremoadyacente(unasolucinbsicafactibleadyacente):
a.Cmoseseleccionaladireccindeltraslado?(Quvariablenobsicaseescoge
paratransformarlaenbsica?)
b.Adndeserealizaeltraslado?(Quvariablebsicasetransformaennobsica?)
3.2ProgramacinLineal:MtodosdeResolucin
c.Cmoidentificamoslanuevasolucin?
Prueba de Optimalidad: Cmo determinamos que la solucin factible en un punto
extremo (solucin bsica factible) no tiene soluciones factibles en un punto extremo
adyacente(solucionesbsicasadyacentes)quemejorenelobjetivo?
Pararesponderaestaspreguntas,demomentoconsideraremosnicamenteelcasodeun
programalinealconrestriccionesdetipomenoroigual( ).Msadelanteampliaremosel
anlisiscuandoelproblematambincontienelosotrostiposderestricciones.
Enprimerlugarreescribimosnuestroejemploenlaformacannicaequivalente:
max
. .
0 0
1 3 144
2 3 2 162
4 13 18 982
Obsrvese que ahora la ecuacin (0) del objetivo est incluida dentro del sistema de
ecuacionesyquepodemosconsiderarZcomounavariableadicional.
1.PasoInicial
Estepasoinicialconsisteenencontrarcualquiersolucinbsicafactible.Unamanerafcil
dehacerloesigualandolasvariablesestructuralesdelmodeloa0.Siobservamoslaforma
cannica equivalente tendremos que igualando X1 y X2 a 0 las variables de holgura
automticamente cogen valores nonegativos (X3 = 144, X4 = 162, X5 = 982)
correspondientealpuntoextremoA.Porlotanto,lasolucinfactibleser(0,0,144,162,
982).
2.Pasoiterativo:
En cada iteracin, el mtodo Simplex se mueve desde una solucin bsica factible a una
solucin bsica factible adyacente que mejora el objetivo. Este movimiento consiste en 3.2ProgramacinLineal:MtodosdeResolucin
convertirunavariablenobsica(llamadavariablebsicaentrante)enunavariablebsica
y, al mismo tiempo, convertir una variable bsica (llamada variable bsica saliente) en
variablenobsica,yaidentificarlanuevasolucinbsicafactible.
Preguntaa:Culeselcriterioparaseleccionarlavariablebsicaentrante?
Lascandidatasparalavariablebsicaentrantesonlasnvariablesnobsicasactuales.Esta
variable,que escogeremospara pasardenobsicaabsica,pasar detenerunvalor0a
tener unvalorpositivo,mientrasquelasrestantesseguirn con valor 0.Comoel mtodo
Simplexrequierequeestecambioimpliqueunamejoraenelobjetivo,esnecesarioquela
tasa de cambio en Z al aumentar el valor de la variable bsica entrante, sea positivo.
Observemoslaecuacin(0)delsistema.EstaexpresinreflejaelvalordeZenfuncinde
lasvariablesnobsicas,yporlotantoelcoeficienteasociadoaestasvariableseslatasade
cambio del valor del objetivo. Si, por ejemplo, X2 pasa de ser 0 a ser 1, el objetivo
aumentarenunaunidad.Comocriterio,escogeremoslavariablecuyocoeficienteaumente
mselobjetivoalpasaraserbsica6.
Ennuestroejemplo,lasdosvariablesnobsicassoncandidatasaentrarenlabaseyaque
aumentaran el valor del objetivo. Escogemos arbitrariamente X2 ya que tiene el mismo
coeficienteenlaecuacin(0)queX1.
Preguntab:Cmoidentificamoslavariablebsicasaliente?
Siignoramoslasvariablesdeholgura,alaumentarelvalordeX2manteniendoX1iguala0
nosdesplazamosporelejedelasordenadas(quecorrespondenprecisamentealosvalores
de X2). La solucin adyacente se alcanza en el punto B, que viene determinada por la
restriccin X1 + 3X2 144, que se cumplir con igualdad y por lo tanto acotar en 48 el
valordeX2,yaqueX1siguesiendoiguala0.
Cuando escribimos el problema en forma cannica, las soluciones factibles tienen que
cumplir tanto las restricciones funcionales como las de nonegatividad de todas las
variables,incluidaslasdeholgura.CuandovamosaumentandoelvalordeX2manteniendo
X1=0(variablenobsica),algunasdelasvariablesenlabaseactual(X3,X4,X5,X6)tambin
vancambiandodevalorparamantenervlidoelsistemadeecuaciones.Algunasdeestas
variables se reducirn al aumentar X2. La solucin bsica adyacente se alcanza cuando la
primera variable bsica que tena valor positivo pasa a ser igual a cero (recordemos las
restriccionesdenonegatividad).Estavariableserlaquesaledelabaseyporlotantose
transformarennobsica.Porlotanto,unavezescogidalavariablequeentrarenlabase,
lavariablequesaledelabaseseraquellaquellegueprimeroa0.Lavariablebsicaactual
con la cota superior ms pequea junto con la restriccin su nonegatividad ser la
escogida.
Examinemos esta cuestin en nuestro ejemplo. Tenemos que las variables bsicas
candidatasasalirdelabase(esdecir,aserigualesa0)sonX3,X4,yX5.EnelCuadro3.5Se
presentanlosclculosparaidentificarcualeslavariablebsicasaliente.Recordemosque
X1siguesiendoiguala0.
3.2ProgramacinLineal:MtodosdeResolucin
Variable
Ecuacin CotaSuperiorParaX2
Bsica
X3 X3=144X13X2 X2 144/3=48mnimo
X4 X4=1623X12X2 X2 162/2=81
X5 X5=98213X118X4 X2 982/18=54,6
Cuadro3.5:Clculosparaobtenerlavariablesaliente
ComoX1esunavariablenobsica,tendremosqueX1=0enlasegundacolumnadelCuadro
3.5.LaterceracolumnaindicalascotassuperioresparaX2antesdequelavariablebsica
6
Estecriterioessubjetivoynoimplicaquelasolucinptimaseaalcanzadamsrpidamente
correspondientealaprimeracolumnaseanegativa.Porejemplo,X3=0siX2=48(mientras
queX3>0siX2<48,yX3<0cuandoX2>48).ComoenestecasoX3(lavariabledeholgura
correspondiente a la restriccin X1 + 3X2 144) impone la cota negativa ms pequea
sobreX2,lavariablebsicasalienteserX3,demaneraqueenlanuevasituacintendremos
queX3=0(nobsica)yX2=48(bsica),quecorrespondealpuntoextremoB.
Despusdehaberidentificadolasvariablesentrantesysalientesdelabase(incluyendoel
valordelavariablebsicaentrante),necesitamosconocercualeselvalornuevodelresto
devariablesbsicas.Parapodercalcularestosvalores,elmtodoSimplexutilizalaforma
apropiadadeeliminacindeGaussquetenamosenelpasoinicial(aquellaenlacualcada
ecuacin tiene nicamente una variable bsica con coeficiente +1, y esta variable bsica
aparece enuna nica ecuacin).Se trata de encontrar la nuevaforma apropiada despus
del cambio de base. Se necesita realizar dos operaciones algebraicas normalmente
utilizadaspararesolversistemasdeecuacioneslineales.Estasoperacionesson:
1.Multiplicar(odividir)unaecuacinporunaconstantediferentede0.
2.Sumar(orestar)unmltipledeunaecuacinconotraecuacin
Estasoperacionessonlegtimasporqueimplicannicamente:1)multiplicarcosasiguales
(losdosladosdelaecuacin)porunaconstantey2)sumarcosasigualesconcosasiguales.
Por lo tanto, una solucin que cumple un sistema de ecuaciones determinado tambin lo
hardespusdelatransformacin.
0 0
1 3 144
3.2ProgramacinLineal:MtodosdeResolucin
2 3 2 162
3 13 18 982
AhoraX2hasubstituidoaX3comovariablebsicaenlaecuacin(1).Entoncestenemosque
resolver este sistema de ecuaciones paraencontrar losvalores de las variable bsicas X2,
X4,X5(recordemosqueahoraX1yX3=0)ydeZ.ComoqueX2tieneuncoeficienteiguala+3
enlaecuacin(1),necesitamosrealizarunatransformacinparaquesucoeficientesea1.
Para ello basta multiplicar ambos lados de la ecuacin por 1/3. Una vez realizada la
operacin,lanuevaecuacin(1)eslasiguiente:
1 1
48
3 3
ElpasosiguienteeseliminarX2delasotrasecuaciones.Comencemosporlaecuacin(0).
Tenemosquerealizarlaoperacinsiguiente:
Ec.(0)nueva=ec.(0)antigua+ec.(2)nueva
Esdecir:
0
1 1
48
3 3
________________________________________________
2 1
48
3 3
Tenemosquerealizarelmismoprocedimientoparalasecuaciones(2)y(3).Loharemosa
continuacinparalaecuacin(2).ParaeliminarX2delaecuacin(2),tenemosquerealizar
laoperacinsiguiente:
Ec.(2)nueva=ec.(2)antigua2[ec.(1)nueva]
3 2 162
2 2
2 96
3 3
____________________________________________
7 2
66
3 3
Paralaecuacin(3),tenemosquerealizarunaoperacinsimilar:
Ec.(3)nueva=ec.(3)antigua18[ec.(1)nueva]
13 18 982
6 18 6 864
3.2ProgramacinLineal:MtodosdeResolucin
_____________________________________________
7 6 118
Porlotanto,lanuevaformagausianadelsistemadeecuacioneseslasiguiente:
2 1
0 48
3 3
1 1
1 48
3 3
7 2
2 66
3 3
3 7 6 118
Ennegritafiguranlasvariablesbsicas,queaparecennicamenteenunaecuacinyconun
coeficienteiguala1.Porlotanto,sicomparamosestenuevosistemadeecuacionesconel
anterior, veremos que sigue teniendo la forma apropiada de eliminacin de Gauss que
permiteobtenerinmediatamenteelvalordelasvariablesenlasolucin(recordemosque
X1=0yX3=0yaquesonlasvariablesnobsicas).Hayqueobservarqueenlaecuacin(0)
siempre estn nicamente la variables nobsicas. Ahora tenemos una nueva solucin
bsicafactibleiguala(0,48,0,96,114)quecorrespondealpuntoextremoB.Elvalordel
objetivoesiguala48.
El siguiente paso es ver si esta nueva solucin es la ptima. Para ello examinamos en la
siguienteecuacin(quecorrespondealaecuacin(0))loscoeficientesdelasvariablesno
bsicas:
2 1
48
3 3
ComolavariablenobsicaX1tieneuncoeficientepositivo(2/3),silavariablepasaatener
valores positivos, el objetivo aumentar. Por lo tanto noestamos en la solucin ptima y
hayquerealizardenuevoelproceso,endondeX1entrarenlabaseyotravariablebsica
dejardeserlo.
Segundaiteracin
Paso2.EllmitesuperiorsobreX1antesdequelasvariablesbsicasseannegativas
estindicadoenelCuadro3.6:
Variable
Ecuacin CotaSuperiorParaX1
Bsica 3.2ProgramacinLineal:MtodosdeResolucin
X2 X2=481/3X11/3X3 X1 48*3=144
X4 X4=667/3X1+2/3X3 X1 66*(3/7)=198/7
X5 X5=1147X1+6X3 X1 118/7 mnimo
Cuadro3.6:Clculosparaobtenerlavariablesaliente
EscogeremosX5comolavariablebsicasalienteyaqueeslacualque,amedidaque
aumentaelvalordeX1,X5alcanzaprimeroelvalor0.
Paso3.AhorahayqueeliminarX1detodaslasecuacionesparaencontrarlanueva
solucindetodaslasvariablesydelobjetivo.Volvemosarealizarlatransformacin
gausiana.
Primerotenemosquetransformarlaecuacincorrespondientealavariableentrante,para
quetengauncoeficiente1.Paraellotenemosquedividirlaecuacin(3)por7.Elresultado
eselsiguiente:
6 1 118
3
7 7 7
Conestaecuacin,volvemosatransformarlasotrasenlaformagausianaapropiada:
Ec.(0)nueva=ec.(0)antigua+2/3[ec.(3)nueva]
Esdecir:
2 1
48
3 3
2 4 2 236
3 7 21 21
_______________________________________________
5 2 1244
21 21 21
Tenemosquerealizarelmismoprocedimientoparalasecuaciones(1)y(2).Loharemosa
continuacinparalaecuacin(1).ParaeliminarX2delaecuacin(1),tenemosquerealizar
laoperacinsiguiente:
Ec.(1)nueva=ec.(1)antigua1/3[ec.(3)nueva]
1 1
48
3 3
1 2 1 118
3 7 21 21
__________________________________________
13 1 890
3.2ProgramacinLineal:MtodosdeResolucin
21 21 21
Paralaecuacin(2),tenemosquerealizarunaoperacinsimilar:
Ec.(2)nueva=ec.(2)antigua7/3[ec.(3)nueva]
7 2
66
3 3
7 1 118
2
3 3 3
_________________________________________
4 1 80
3 3 3
Porlotanto,lanuevaformagausianadelsistemadeecuacioneseslasiguiente:
5 2 1244
0
21 21 21
13 1 890
1
21 21 21
4 1 80
2
3 3 3
6 1 118
3
7 7 7
Lasolucinbsicafactiblesiguientees(118/7;890/21;0;80/3;0)yelvalordelobjetivo
esZ=1244/21.
PruebadeOptimalidad.
Tenemos que verificar si las variables nobsicas del objetivo tienen coeficientes que
permitanaumentarelvalordelobjetivosistascogenvalorespositivos.Elnuevoobjetivo
es:
1244 5 2
21 21 21
3.2ProgramacinLineal:MtodosdeResolucin
Como una de las variables nobsicas tiene un coeficiente positivo, el valor del objetivo
puedeaumentarsiestavariablepasaaserbsica.Porlotanto,annohemosalcanzadoel
ptimo,yesprecisorealizarunanuevaiteracindelalgoritmoSimplex.
Ahora la variable X3 entrar en la base, y tenemos que escoger una variable bsica para
salirdelabase.
Terceraiteracin
Paso2.EllmitesuperiorsobreX3antesdequelasvariablesbsicasseannegativas
estindicadoenelCuadro3.7:
Variable
Ecuacin CotaSuperiorParaX3
Bsica
X1 X1=118/7+6/7X31/7X5 infinita
X2 X2=890/2113/21X3+1/21X5 X3 (890/21)*(21/13)=890/13
X4 X4=80/34/3X3+1/3X5 X3 (80/3)*(3/4)=20 mnimo
Cuadro3.7:Clculosparaobtenerlavariablesaliente
EscogeremosX4comolavariablebsicasalienteyaqueeslacualque,amedidaque
aumentaelvalordeX3,X4alcanzaprimeroelvalor0.Porotrolado,alaumentarel
valordeX3elvalordeX1tambinaumenta.Deaququenoexistaunacotasuperior.
Paso3.AhorahayqueeliminarX3detodaslasecuacionesparaencontrarlanueva
solucindetodaslasvariablesydelobjetivo.Volvemosarealizarlatransformacin
gausiana.
Primerotenemosquetransformarlaecuacincorrespondientealavariableentrante,para
que tenga un coeficiente 1. Para ello tenemos que multiplicar la ecuacin (2) por 3/4. El
resultadoeselsiguiente:
3 1
2 20
4 4
Conestaecuacin,volvemosatransformarlasotrasenlaformagausianaapropiada:
Ec.(0)nueva=ec.(0)antigua+5/21[ec.(2)nueva]
Esdecir:
5 2 1244
21 21 21
3.2ProgramacinLineal:MtodosdeResolucin
5 5 5 100
21 28 84 21
_______________________________________
5 1
64
28 28
Tenemosquerealizarelmismoprocedimientoparalasecuaciones(1)y(3).Loharemosa
continuacinparalaecuacin(1).ParaeliminarX3delaecuacin(1),tenemosquerealizar
laoperacinsiguiente:
Ec.(1)nueva=ec.(1)antigua13/21[ec.(2)nueva]
13 1 890
21 21 21
13 13 13 435
21 28 84 42
______________________________________________
13 3
30
28 28
Paralaecuacin(3),tenemosquerealizarunaoperacinsimilar:
Ec.(3)nueva=ec.(3)antigua+6/7[ec.(2)nueva]
6 1 118
7 7 7
6 9 3 120
7 14 14 7
_____________________________________________
9 1
34
14 14
Porlotanto,lanuevaformagausianadelsistemadeecuacioneseslasiguiente:
5 1
0 64
28 28
13 3
1 30
28 28
3 1
2 20
4 4
9 1
3 34
14 14 3.2ProgramacinLineal:MtodosdeResolucin
Lasolucinbsicafactiblesiguientees(34;30;20;0;0)yelvalordelobjetivoesZ=64.
PruebadeOptimalidad.
Tenemos que verificar si las variables nobsicas del objetivo tienen coeficientes que
permitanaumentarelvalordelobjetivosistascogenvalorespositivos.Elnuevoobjetivo
es:
5 1
64
28 28
Comoningunadelasvariablesnobsicastieneuncoeficientepositivo,elvalordelobjetivo
nopuedeaumentarsicualquieradelasvariablesnobsicaspasaaserbsica.Porlotanto,
hemosalcanzadoelptimo,yaquenopodemospasaraunpuntoextremoadyacenteque
mejoreelvalordelobjetivo.
Enresumen,elmtodoSimplextienelospasossiguientes:
1. Introducirlasvariablesdeholguraparaobtenerlaformacannicadelprograma
2. Encontrar una solucin inicial de un punto extremo y realizar la prueba de
optimalidad.
3. Sinoestamosenelptimo:
3.2.3Adaptacinaotrotipodemodelos
Hasta ahora hemos estudiado el mtodo Simplex para problemas de maximizacin con
restricciones con la desigualdad . Pero hay otros casos co mo los problemas de
3.2ProgramacinLineal:MtodosdeResolucin
Restriccionesconigualdad
Elproblemabsicoconlasrestriccionesdeigualdadeslaobtencindeunasolucinbsica
factibleinicial.Supongamosque,ennuestroejemplo,tenemosunarestriccinadicionalque
se tiene que cumplir con igualdad (X1 + X2 = 7). En este caso, en principio no hay que
introducirunavariabledeholguraparaformarlaformacannica.
X1+X2+S3=7
GraciasalaintroduccindeestavariableartificialS3yapodemosencontrarunasolucin
inicialfactibleendondeS3esunavariablebsicaiguala7.Dehecho,hemosaumentadoel
nmerodevariablesaadiendounaquenotieneningunainterpretacineconmica,pero
que nos sirve para encontrar una solucin inicial factible. Es meramente un artificio
matemtico.Pero,enlasolucinfinal,queremosqueS3tengaelvalor0(seanobsica),ya
que, si esto no es as, el problema no tendra sentido (la restriccin no se cumplira con
igualdad).Parapoderconseguirlo,aadimosestavariableartificialenelobjetivo,perocon
uncoeficientenegativodevalormuyelevado(respectoalosotros),quellamaremosM:
Z=X1+X2MS3
Como este valor penaliza la variable en el objetivo, el mtodo Simplex escoger esta
variableparasalirdelabaseynuncamsvolveraentrar(esdecir,sequedarconelvalor
0). Por lo tanto, en lasolucin final S3 tendr el valor 0.Siesto nofuera as,elproblema
serainfactible.
Enlaprximaseccinveremoscomoeliminarestavariabledelobjetivo.
Restriccionescondireccin .
Supongamosahoraqueaadimoslarestriccin(3)delproblemadelaseccin2.2.2:
4X1+2X2 135
Enestecasotenemosqueencontrarunasolucininicialdelamismaformaquehacamos
anteriormenteparapoderejecutarelmtodoSimplex.Ahorabien,enestecasoaadimos
3.2ProgramacinLineal:MtodosdeResolucin
una variable de exceso nonegativa, E3, que mide la diferencia entre el valor del lado
izquierdodelaecuacin(4X1+2X2)yelladoderecho(135).Estavariabletendrunsigno
negativoenlaecuacin:
4X1+2X2E3=135
Ahorabien,alfijarinicialmenteX1yX2igualesa0,E3seigualara135,porloquetendr
un valor negativo, incumpliendo las condiciones de nonegatividad de todas las variables
en el mtodo Simplex. De nuevo, tenemos que recurrir al artificio de introducir una
variableartificialquenospermitaobtenerunasolucinfactibleinicialS3:
4X1+2X2E3+S3=135
EnestecasoescogemosS3comovariablebsicainicialcorrespondientealarestriccin(3).
Comoenelcasoanterior(restriccionesconigualdad),aadiremoslavariableartificialS3en
el objetivo con un coeficiente M. Si esta variable continua con valor positivo al final del
mtodoSimplex,elproblemaesinfactible.
Ec.(0)nueva=ec.(0)antiguaM*ec.(3)
Esdecir:
0
4 2 135
___________________________________________________________________
1 4 1 2 135
AhorayapodemosprocederconelmtodoSimplexyaquetodaslasvariablesbsicasenla
ecuacin (0) tienen un coeficiente asociado igual a 0. Ahora tenemos que decidir que
variable nobsica tiene que entrar en la base. Escogeremos aquella cuyo coeficiente
aumente ms el objetivo. En este caso, escogeramos E3 como variable bsica entrante y
procederamos a buscar la variable bsica saliente de la misma forma que lo hicimos 3.2ProgramacinLineal:MtodosdeResolucin
anteriormente.HemosdeobservarquecuandoE3entraenlabaseyotravariablesaledela
base(esdecir,nosdesplazamosaunnuevopuntoextremoadyacente),elcoeficientedeE3
enelobjetivotomarelvalor0.Amedidaqueelprocedimientocontinua,lasvariablescon
elvalorMenelobjetivovanentrandoenlabaseyllegarunpuntoenqueMdesaparecer
del sistema. Si en la solucin final an tenemos M en la ecuacin (0), el sistema no tiene
solucin.
Sitenemosmsdeunarestriccinconigualdad,elprocedimientoesexactamenteelmismo.
CadaunadelasvariablesartificialestendruncoeficienteMenelobjetivoytendremos
queencontrarlaformaapropiadadeeliminacindeGauss.
Minimizacin
MinZ=3X1+4X2
esequivalentea:
MaxZ=3X14X2
Una vez hecha esta transformacin, podemos aplicar el mtodo Simplex descrito en esta
seccin.Lacausadeestaequivalenciaesque,cuantomenoresZ,mayoresZ.
Otramaneradeoperarconunobjetivodeminimizacinesseleccionarlavariablenobsica
entrantequereduzcaenmayorgradoelvalordelobjetivo.
Variablesnoacotadas
Puedeocurrirqueenalgunasformulacioneslasvariablespuedancogervaloresnegativos.
Enestecaso,hayquemodificarelmodeloparapoderutilizarenmtodoSimplex,yaque
stenicamentepermitequelasvariablestomenvalorespositivosocero.
3.2.4SituacionesespecialesenelmtodoSimplex
Empateenlavariableentrante
Si hay dos variables que tienen el coeficiente ms grande (en valor absoluto) igual en la
ecuacin(0),seescogearbitrariamenteunadeellasparaentrarenlabase.
Empateenlavariablesaliente
Supongamosqueahoraelempateseproduceentredosomsvariablesbsicasalexaminar
elcriteriodesalida.Siestosucede,todaslasvariablesalcanzanelvalor0almismotiempo
cuando aumenta el valor de la variable entrante. Entonces, las variables bsica que no
habamosescogidocomosalientesdelabasetambintendrnvalor0enlasolucin.Este
tipodesolucionessellamandegeneradas.Incluso,siunadeestasvariablescontinuaconel
valor 0 hasta que se selecciona como variable saliente en una iteracin posterior, la
variable nobsica entrante tambin se quedar con valor 0 y el valor del objetivo no
cambiar. Puede pasar que, si Z se queda igual, en vez de mejorar el objetivo en cada
iteracin, el mtodo Simplex entre en un ciclo que repite peridicamente las mismas
soluciones,envezde ircambiandoparaaumentarelvalordelobjetivo.Dehecho,sehan
elaboradoprogramaslinealesconciclosinfinitos.Porsuerte,enlaprcticaestasituacin
escasiinexistenteynormalmentelosempatesserompenarbitrariamente.
Nohayvariablebsicasaliente:Znoacotado
Simplemente, el problema tiene una solucin infinita, ya que no hay ninguna restriccin
queacoteelobjetivo.
Solucionesptimasmltiples
3.2ProgramacinLineal:MtodosdeResolucin
Comohemosvisto,elmtodoSimplexseparacuandoencuentraunasolucinptima.Pero,
comohemosvistoenelmtodogrfico,puedehabersituacionesenlasquehaysoluciones
ptimas mltiples... Siempre que el problema tiene ms de una solucin ptima factible,
comomnimounavariablenobsicatieneelcoeficienteiguala0enlaecuacin(0)final,
de manera que si su valor aumenta, Z no cambia. Si esta situacin aparece, podemos
encontrar otra solucin ptima introduciendo esta variable nobsica en la base. As
podemos encontrar otras soluciones que, sin cambiar el valor del objetivo, nos ayuden a
tomarunadecisinenfuncindelvalordelasvariablesenelptimo.
3.2.5SolucionesconSoftware
Porahorahemosvistodosmtodosparaencontrarsolucionesdeprogramaslineales.Pero
todosellossonmuyineficientessisetienequehacerlosclculosconlpizypapelincluso
para problemas pequeos. Actualmente, existe un sinfn de programas de ordenador que
resuelven problemas lineales muy eficientemente, incluso programas con miles de
variables y restricciones. Los programas de hoja de clculo tambin estn incorporando
mtodos para obtener soluciones de programas lineales. En esta seccin describiremos
comoprogramarysolucionarunmodelodeprogramacinlinealenlahojadeclculoExcel
2007 de Microsoft7. Utilizaremos mismo ejemplo de las secciones anteriores. Tambin
supondremosquesetienenconocimientosbsicosdefuncionamientodeesteprograma.
Laformulacindelproblemadeasignacinderecursosdelaseccin2.2.2es:
max
. .
144
3 2 162
4 2 135
3 0
13 18 982
, 0
max
. .
144
3 2 162
3 0
13 18 982
4 2 135
, 0
mduloSolver.
Coeficientes Recursos
X1 X2 Disponibles
1 3 144
3 2 162
1 3 0
7
La versin que se utiliza en este apartado corresponde a Office 2007, aunque en versiones anteriores
tambinexisteelmdulodeprogramacinlineal
13 18 982
4 2 135
Cuadro3.8:Coeficientes
LaprimeracolumnacorrespondealoscoeficientesdeX1ylasegundaaloscoeficientesde
X2. Precisamente vamos a escribir esta matriz en las celdas de la hoja de calculo En la
Figura3.5hemosescritoelplanteamientodelproblema.
=B8*$B$5+C8*$C$5.Lasformulasdelladoizquierdodelasrestriccionesestnescritasen
elrangoE12E16.Estasson:
=B12*$B$8+C12*$C$8
=B13*$B$8+C13*$C$8
=B14*$B$8+C14*$C$8
=B15*$B$8+C15*$C$8
=B16*$B$8+C16*$C$8
Ahora ya tenemos preparado el modelo. Obsrvese que por el momento las celdas con
frmulas tienen el valor 0. Esto es debido a que por ahora las celdas asociadas a las
variablesdedecisinestnvacas.
Figura3.5:EjemploenExcel
Figura3.6:CuadrodelaOpcinSolver
Ahora tenemos que indicar las celdas en donde estn las frmulas. En la casilla Celda
objetivoponemoslareferenciadelaceldaendondeestlafuncinobjetivo($E$2).Luego
indicamosqueesunproblemademaximizacin.Lasreferenciasdelasvariablesseindican
en el recuadro Cambiando las celdas (B8; C8). Finalmente tenemos que introducir las
restricciones.ParaelloentramosenlaopcinAgregarysaldrelrecuadrodelaFigura3.7.
Enltenemosqueindicardondeestelladoizquierdo(lafrmula)decadarestriccin,el
signodeladesigualdadyelladoderechodecadarestriccin.Cadavezqueentramosuna
3.2ProgramacinLineal:MtodosdeResolucin
restriccin adicional escogemos la opcin agregar. Ahora bien, si hemos ordenado las
restricciones en funcin de su direccin, no hace falta entrar una a una en el recuadro.
Basta con seleccionar el rango en funcin de cada una de las agrupaciones realizadas.
Despusdehaberentradolasrestriccionescorrespondientes,
Figura3.7.:Introduccindelasrestricciones
Excel tambin exige poner las restricciones de no negatividad. La Figura 3.8 muestra el
resultadofinaldeintroducirelproblema.
Figura3.8:Resultadofinaldelaprogramacin
Ahorayapodemosresolverelproblema.EscogemoslaopcinResolveryalcabodeunos
breves momentos saldr una pantalla indicando que la solucin ha sido encontrada. La
solucinptimadelasvariablesdedecisinyelvalordelobjetivoahoraaparecenenlas
celdas (ver Figura 3.10). La opcin Solver tambin permite obtener automticamente
informessobrelasolucinfinal.
Figura3.9:ResultadodelSolver
3.2ProgramacinLineal:MtodosdeResolucin
Figura3.10:Solucinptima
3.3ProgramacinLinealEntera
Los modelos de programacin lineal consideran que las variables de decisin son
continuas, es decir, que pueden tomar en la solucin final valores fraccionados. Pero, en
muchoscasos,unasolucinptimadeunprogramalinealpuedeserinserviblesipresenta
fracciones. Supongamos, por ejemplo, que hemos construido un modelo para asignar
personal mdico a departamentos dentro de un hospital. En este caso, las variables de
decisin (asignar personas a departamentos) tienen que ser enteras en la solucin final.
No tendra sentido una solucin en la cual 2,3 mdicos fuesen asignados a la seccin de
dermatologa!
Parapoderencontrarsolucionesdeproblemasenloscualesalgunasotodaslasvariables
tienenqueserenteras,seutilizalaprogramacinentera,quenoesmsqueunaextensin
delaprogramacinlineal.
Otro tipo de modelos entran dentro de la programacin entera binaria, que es un caso
especialendondetodasoalgunasdelasvariablesrepresentanaccionesbinarias,esdecir,
haceronohacer.Enestecaso,lasvariablesnicamentepuedenadoptarlosvalores01.
Este tipo de problemas es muy comn en la toma de decisiones, en donde muchas veces
tenemos que decidir si, por ejemplo, tenemos que construir un nuevo centro, si tenemos
que invertir en un nuevo departamento, o si tenemos que modificar una estrategia de
planificacindeunservicio.
Cuandonosencontramosconestetipodeproblemas,laformulacinmatemticanoseve
alterada;nicamenteenlasrestriccionesdenonegatividadhayqueindicarquvariables
tienen que tomar valores enteros. El problema reside en encontrar soluciones que sean
factibles,yaqueelalgoritmoSimplexnogarantizaunasolucinadecuadaalproblema.En
esta parte,examinaremosenprimerlugarcomo podemosmodificarelalgoritmoSimplex
parapoderobtenersolucionesptimas.Acontinuacin,examinaremosalgunosproblemas
de programacin entera cuyas variables de decisin son binarias (decisiones hacer o no
hacer).
3.3.1Elalgoritmodebifurcacinyacotamiento
lasvariablesespecificadascomoenterastienenvaloresenteros,nohacefaltaseguiryaque
seha obtenidoelptimo;encasocontrario,esnecesarioaplicarelABA.Bsicamente,en
cada iteracin del ABA se escoge una variable que presenta una solucin noentera y se
divide el problema en dos subproblemas, aadiendo en cada uno de ellos una nueva
restriccinqueacotaestavariableporsuvalorenterosuperiorenuncaso,yporelvalorsu
valorinferiorenteroporelotro.CadasubproblemaseresuelveconelmtodoSimplexyse
8
Eningls,branchandboundalgorithm
verificasilasolucinesentera.Encaso,contrario,sevuelveabifurcarelsubproblemaen
otrosdosysesigueprocediendohastaqueseencuentraunasolucinentera.Elprocesose
realiza en todas las ramificaciones del rbol. Aunque este algoritmo pueda parecer
complejo,elprocesoesbastantesencillo.Acontinuacinexaminaremosconunejemploel
ABA.
Supongamosquetenemosqueencontrarlasolucinalproblemalinealsiguiente:
max 1.4
. .
0.5 6
0.5 5.5
6.8
1.4 9
,
En primer lugar utilizamos el mtodo Simplex para obtener una solucin del programa
lineal relajado (sin considerar las restricciones que fijan las variables como enteras). La
solucin obtenida es Z = 8,5; X1 = 2,6 y X2 = 4,2. Tenemos que las dos variables ofrecen
solucionesfraccionadas.HayqueaplicarelABA.
Figura3.11:SolucinSolver
DefinamoselproblemaoriginalcomoP0.EscogemosX1ycreamosdossubproblemasP1y
P2 a partir del programa original. El primer subproblema, P1, consistir en el programa
original P0 ms la restriccin X1 > 2. El segundo subproblema, P2, consistir en el
programa original ms la restriccin X1 > 3. Es decir, estamos diciendo que X1 no puede
cogervaloresentredosytres.SolucionamosP1yP2.
3.3ProgramacinLinealEntera
P1=P0+X1>2.Solucin:Z1=8,3;X1=2yX2=4,5
P2=P0+X1>3.Solucin:Z2=8,3;X1=3yX2=3,8
Losdossubproblemasobtienenelmismovalordelobjetivoque,comoeradeesperar,es
inferior al objetivo inicial Z. Sin embargo, ambos problemas siguen incumpliendo las
condicionesdesolucionesenteras.Tenemosqueseguirramificando.Cogemoselproblema
P1ylosubdividimosendosnuevossubproblemasP11yP12aadiendolasrestriccinX2
3.3ProgramacinLinealEntera
Figura3.12:rrboldelABAaplicadoalejjemplo
Enrealidad,conesteprocesoloqueseesthaciendoesseccionarencadaramificacinel
espaciodesolucionesparaexplorarsiexisteunasolucinentera.Esteprocesopuedeser
observadoenlaFigura3.13,endonde,paracadasubproblema,semuestraelsegmentodel
espaciodesolucionesexplorado.
Elalgoritmodebifurcacinyacotamientotambinseutilizapararesolverlosproblemasde
programacinenterabinaria..Lanicadiferenciaesquelasvariablesestnacotadaspor0
y 1. Si en un subproblema una variable tericamente binaria X es igual a 0,6, ste se
subdivide en dos problemas: el primero aadir la restriccin X = 0 y el segundo la
restriccinX=1.
Figura3.13:Espaciodesolucionesdelossubproblemas
3.3.2ProgramacinEnteraySolver
Supongamos que las variables de ejemplo de la seccin anterior tienen que ser enteras.
Cuando se introducen las restricciones, tenemos que aadir una en donde se escoge las
variables en cuestin y se indica que son enteras, seleccionando int9 en el men de
opcionesdeladireccindelarestriccin(verFigura3.14).Encasodequetenganqueser
binarias,seescogelaopcinBin.
3.3ProgramacinLinealEntera
9
Intvienendeinteger,queeninglesquieredecirEntero.
Figura3.14:SolucionesenterasconExcel
3.3.3ProgramacinEnteraBinaria:ElProblemadelaMochila
Formulacindelproblema
gi=valorcardinaldelagravedaddelpacientei
ti=duracinenminutosdelaintervencindelpacientei
T=tiempototaldisponibleenelcentro
ylasvariablesdedecisinson:
Xi=1,siseatiendealpacientei;0,sinoseleatiende.
Enestecasotodaslasvariablessonbinariasytendremosunaparacadapaciente.
Una vez definidos los parmetros y las variables, podemos construir en modelo. Este
modelotieneunanicarestriccinque,bsicamente,definequeeltotaldeminutosquelos
pacientesatendidosenelcentroconsumirnnopuedeexcedereltiempototaldisponibleT.
ComoXisolopuedeseriguala01,eltiempototalconsumidoporelpacienteiseriguala
3.3ProgramacinLinealEntera
tiXi. Si sumamos tiXi para todos los pacientes, tendremos el tiempo total consumido por
ellos,quenopuedesersuperioraT.Entrminosmatemticos:
Endefinitiva,laformulacinfinaldelmodeloser:
max
. .
0,1 1, , .
EsteproblemaesfcilderesolverutilizandoelalgoritmoABAyaquenicamentetieneuna
restriccin.
Supongamosahoraquealgunostratamientossonincompatiblesconotros.Porejemplo,si
setratadeunquirfano,podramostenerquesioperamosalpacienteitambinpodremos
operar al paciente j porque tendremos recursos disponibles (quirfano preparado,
personaladecuado),perosinoseoperaaningnpacientedetipoientoncesnosepodr
operar al paciente j. Para poder introducir esta consideracin tendramos que aadir la
siguienterestriccin:
XiXj
Esdecir,sioperamosalpacientei,Xi=1,loqueimplicaqueXjquedarlibreparacogerel
valor 0 1 (ser el modelo quien lo decida). Por otro lado, si Xi = 0, la variable Xj ser
siempreigual0,yporlotantoelpacientejnopodrseroperado.
Supongamos ahora que el paciente j nicamente podr ser operado si tanto el paciente i
como el k son operados. En cualquier otro caso el paciente j no podr ser atendido. Para
3.3ProgramacinLinealEntera
Xi Xk Xj
0 0 0
1 0 0
0 1 0
1 1 1
Cuadro3.9:TabladelaVerdad
Laecuacindeestarestriccinquetendrqueaadirsealmodeloes:
Xi+Xk 2Xj
SiXiyXksonambasigualesa1,Xjpodrseriguala01.Encualquierotrocaso,Xjsiempre
seriguala0.
Como hemos visto en este ejemplo, el uso de variables binarias puede ser muy til para
modelizarsituacionesendondeladecisineshaceronohacer.
3.3.4ElProblemadeAsignacin
Elproblemadeasignacinesotroclsicoenlosmodelosdedecisin.Enesencia,consiste
enasignarrecursosatareasenfuncindeunobjetivoligadoalaeficienciadelsistema.Un
ejemplo tpico es el de asignacin de personas a turnos horarios. Otro ejemplo es el de
asignarpersonasamquinas,oeldeasignarregionesaCentrosdeAtencinPrimaria.En
este apartado se presenta el Problema de asignacin comouna variante del Problema de
Transporte.
LadiferenciabsicaentreesteproblemayelProblemadeTransporteesqueenestecaso
cada pueblo o ciudad (con la totalidad de sus habitantes) es asignado a un nico CAP,
mientrasqueenelotroproblemapodradarselugaraqueunapartedelapoblacindeuna
ciudadestuvieraasignadaaunCAPylaotraaotrodiferente.Acontinuacinexaminados
3.3ProgramacinLinealEntera
losparmetrosyvariablesnecesariosparalaformulacin.
Enprimerlugarsedefinenlosparmetrosnecesariosparaformularelmodelo.Sea:
ai:nmerodeaseguradosenelcentrourbanoi,i=1,...,m.
bj:nmerototaldeaseguradosqueelCAPjpuedetenerasignadoscomomximo,j=
1,...,n.
cij:costodedesplazamientoentreiyj.
Lasvariablesqueseutilizarsondetipobinario:
SeaXij=1,sielreaiestasignadaalCAPj;y0encasocontrario.
Unavezdefinidoslosparmetrosylasvariables,necesitamosdefinirlasrestriccionesdel
modelo. Como en el Problema de Transporte, en esta formulacin hay dos tipos de
restricciones.LaprimeravienedefinidaporlacapacidaddeatencinmximadelosCAPs.
ElnmerototaldeaseguradosasignadosalCAPjnopuedeexcedersucapacidadbj.Para
un CAP determinado j, no podemos asignar las poblacin que la que determina su
capacidadmxima
a1X1j+a2X2j+...+aiXij+...+amXmj bj
ParatodoslosCAPs,tendremosque:
1, , .
Elsegundogrupoderestriccionestienequeconsiderarquehemosdeasignarlatotalidad
delosaseguradosdeTodosaludSAdecadacentrourbanoiaunnicoCAP.Paracadarea,
tendremosque:
Xi1+Xi2+...+Xij+...+Xin=1
Esdecir,unanicavariableasociadaacadareaipuedeseriguala1.Paratodaslasreas:
1 1, , .
Finalmente,setienequeformularelobjetivodeminimizacintotaldeladistanciaocosto
totaldelsistema.Estevienedefinidopor:
3.3ProgramacinLinealEntera
c11X11+c12X12+...+c1nX1n+...+cijXij+...+cm1Xm1+...+cmnXmn
quepodemosreescribirenformacompactacomo:
min
Enresumen,laformulacincompletadelmodeloeslasiguiente:
min
. .
1, ,
1 1, ,
0,1 1, , 1, ,
Setienequeobservarqueesteproblemapresentalamismapeculiaridadqueelproblema
de Transporte. Para que el problema tenga una solucin factible, el nmero total de
asegurados no puede exceder la capacidad total de los CAPs. Es decir, existe la siguiente
restriccinimplcitaenelmodelo:
Siestonoseverificara,elproblemanotendrasolucin.
3.3.5ProblemasdeLocalizacindeServicios
Cuntasambulanciassenecesitanenunreageogrfica,ydndedeberanubicarsepara
asegurarunbuenservicioalasllamadasporurgencias?Endndedeberanlocalizarselas
CentrosdeatencinPrimariaen unareginpara minimizar el tiempode desplazamiento
delosusuarios?Endndetenemosquelocalizaralmacenesparaoptimizarladistribucin
de productos farmacuticos en un pas? Estas cuestiones, relacionadas con el diseo y la
operacin de los servicios de atencin y de distribucin, han sido estudiadas durante los
ltimos 25 aos por un gran nmero de investigadores. Los planificadores tienen que
responderapreguntascomostascuandoseenfrentanaldiseooalareconfiguracinde
losserviciosdeurgenciasmdicas, deambulatorios,deoperacionesdedistribucin,ode
redeshospitalarias.
3.3ProgramacinLinealEntera
Elproblemabsicotratadelocalizarserviciosquevanapermanecerensuubicacinpor
unlargotiempounavezdecididasulocalizacin.Enotraspalabras,suubicacinser,sino
definitiva,constanteduranteunlargoperiododetiempo.Lalocalizacindeestosservicios
puedeserdeterminanteenlaevaluacindelaeficienciadesu"desempeo"enlaofertadel
servicioencuestin.
Entre estos modelos se han realizado diversas variaciones para intentar reflejar algunos
aspectos especficos del problema de localizacin. Por ejemplo, hay modelos que no tan
solo localizan ambulancias, sino que tambin determinan para cada estacin cual es la
combinacinptimadevehculos,materialesyrecursoshumanos.Otrosmodelosestudian
el problema de la localizacin teniendo en cuenta el grado de congestin del servicio,
intentando obtener un conjunto de localizaciones que no tan solo optimice la cobertura,
sino que de alguna forma considere la situacin de que un servicio est ocupado
atendiendounallamadayensuestacinseproduzcaotrallamada(modelosde``backup''o
servicios auxiliares). Otra lnea de trabajo estudia la situacin en donde la demanda de
serviciotieneelementosprobabilsticosenfuncin
delahoradelda.
Enestaseccinformularemostresmodelosbsicosdelocalizacindeservicios.
ModelosdeCobertura
Los modelos de cobertura suelen fijar una distancia estndar D entre un servicio y la
poblacin usuaria. Esta distancia (o tiempo de desplazamiento) se considera como la
distancia mxima entre usuario y servicio para ofrecer una atencin correcta. Esta
3.3ProgramacinLinealEntera
distancia estndar se utiliza como criterio bsico para obtener la ubicacin ptima de
servicios.
ElProblemadeLocalizacindeServiciosconCobertura10
10
Eningls:LocationSetCoveringProblem
ElProblemadeLocalizacindeServiciosconCobertura(PLSC),enpalabras,eselsiguiente:
Culeselnmeromnimodecentrosydndetenemosquelocalizarlosparaquetodala
poblacinestcubiertadentrodeladistanciaestndarD?
ElPLSCpuedeserformuladodelasiguienteforma.Supongamosunareddetransporteen
dondeexistenmnodosoreas,cadaunoconunademanda(opoblacin)determinadadel
servicio,yconectadosentreellospor"arcos"(carreteras,calles,etc.),cadaunodeelloscon
untiempodedesplazamientoounadistanciaasociados.Lalocalizacindelosserviciosse
realizaexclusivamenteenlosnodos.Enotraspalabras,nicamentelosnodosdelaredson
candidatosaobtenerunalocalizacindelosservicios,yporotrolado,losnodostambin
representan los centros de demanda de los servicios. Muchas veces, en algunas
aplicaciones, no todos los nodos de demanda son candidatos a obtener un centro de
servicio(avecesenunnodoseencuentraunedificiodeinterscultural,osimplementeno
existeterrenodisponibleparaubicarunservicio);porellosiempreenlaformulacindel
modelo se diferencia entre la demanda (nodos que requieren del servicio) y la oferta
(nodoscandidatosarecibirelservicio).EnlaFigura3.10serepresentaejemploderedde
20nodosconlacualformularemosalgunosmodelosdelocalizacin.
Figura3.3.:Redde20nodos
En esta Figura, los nodos estn representados por crculos y tambin se indican las
distanciasentrelosnodosqueestndirectamenteconectados.ElCuadro3.10contienela
matriz de distancias dij entre todos los pares de nodos (i,j) de la red. Esta matriz es
fundamentalenlosmodelosdelocalizacin.Engeneral,estamatrizseobtienecalculando,
3.3ProgramacinLinealEntera
paracadapardenodos,elcaminomscortoentreellos,esdecir,ladistanciasmscorta
quelosune.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Pob. 34 65 99 85 95 75 32 34 28 53 52 21 39 98 69 67 22 54 76 90
1 0,0 5,0 12,5 21,2 13,0 18,2 23,5 8,0 27,5 9,0 15,0 25,0 21,5 18,0 35,0 28,5 27,0 40,5 37,0 32,0
2 5,0 0,0 7,5 16,2 8,5 13,7 18,5 6,0 22,5 12,0 13,0 20,5 19,5 21,0 30,5 26,5 27,5 38,5 37,5 35,0
3 12,5 7,5 0,0 8,7 6,2 11,4 11,0 11,2 15,0 17,2 15,2 18,2 21,7 25,2 27,0 27,2 29,7 38,0 39,4 39,2
4 21,2 16,2 8,7 0,0 14,9 15,7 8,2 19,9 12,2 25,9 20,7 19,2 27,2 30,7 24,2 28,2 35,2 35,2 40,4 44,7
5 13,0 8,5 6,2 14,9 0,0 5,2 12,7 5,0 16,7 11,0 9,0 12,0 15,5 19,0 22,0 21,0 23,5 33,0 33,2 33,0
6 18,2 13,7 11,4 15,7 5,2 0,0 7,5 10,2 11,5 13,0 5,0 6,8 11,5 15,0 16,8 15,8 19,5 27,8 28,0 29,0
7 23,5 18,5 11,0 8,2 12,7 7,5 0,0 17,7 4,0 20,5 12,5 11,0 19,0 22,5 16,0 20,0 27,0 27,0 32,2 36,5
8 8,0 6,0 11,2 19,9 5,0 10,2 17,7 0,0 21,7 6,0 7,0 17,0 13,5 15,0 27,0 20,5 21,5 32,5 31,5 29,0
9 27,5 22,5 15,0 12,2 16,7 11,5 4,0 21,7 0,0 24,5 16,5 7,0 18,0 24,0 12,0 16,0 26,0 23,0 28,2 36,5
10 9,0 12,0 17,2 25,9 11,0 13,0 20,5 6,0 24,5 0,0 8,0 23,0 14,5 9,0 33,0 21,5 18,0 33,5 28,0 23,0
11 15,0 13,0 15,2 20,7 9,0 5,0 12,5 7,0 16,5 8,0 0,0 11,8 6,5 10,0 21,8 13,5 14,5 25,5 24,5 24,0
12 25,0 20,5 18,2 19,2 12,0 6,8 11,0 17,0 7,0 23,0 11,8 0,0 11,0 17,0 10,0 9,0 19,0 21,0 21,2 29,5
13 21,5 19,5 21,7 27,2 15,5 11,5 19,0 13,5 18,0 14,5 6,5 11,0 0,0 6,0 18,2 7,0 8,0 19,0 18,0 18,5
14 18,0 21,0 25,2 30,7 19,0 15,0 22,5 15,0 24,0 9,0 10,0 17,0 6,0 0,0 24,2 13,0 9,0 25,0 19,0 14,0
15 35,0 30,5 27,0 24,2 22,0 16,8 16,0 27,0 12,0 33,0 21,8 10,0 18,2 24,2 0,0 11,2 24,2 11,0 21,0 34,5
16 28,5 26,5 27,2 28,2 21,0 15,8 20,0 20,5 16,0 21,5 13,5 9,0 7,0 13,0 11,2 0,0 13,0 12,0 12,2 23,5
17 27,0 27,5 29,7 35,2 23,5 19,5 27,0 21,5 26,0 18,0 14,5 19,0 8,0 9,0 24,2 13,0 0,0 20,0 10,0 10,5
18 40,5 38,5 38,0 35,2 33,0 27,8 27,0 32,5 23,0 33,5 25,5 21,0 19,0 25,0 11,0 12,0 20,0 0,0 10,0 23,5
19 37,0 37,5 39,4 40,4 33,2 28,0 32,2 31,5 28,2 28,0 24,5 21,2 18,0 19,0 21,0 12,2 10,0 10,0 0,0 13,5
20 32,0 35,0 39,2 44,7 33,0 29,0 36,5 29,0 36,5 23,0 24,0 29,5 18,5 14,0 34,5 23,5 10,5 23,5 13,5 0,0
Cuadro3.3:Poblacindecadanodoydistanciasentrenodos
Ahora es necesario conocer, para cada nodo de demanda, cules son las ubicaciones
potencialesdonde,siseabreuncentroenellas,elnododedemandaestarcubiertodentro
de la distancia estndar D. Por ejemplo, si D = 10, el centro de demanda 4 tiene, como
ubicaciones potenciales de cubrirlo, los nodos 3, 4 y 7. En el Cuadro 3.4, se indican, para
cadanodo,lasubicacionespotencialesdecobertura.
8 1,2,5,8,10,11 18 18,19
9 7,9,12 19 17,18,19
10 1,8,10,11,14 20 20
Cuadro3.4.:Ubicacionespotencialesdecoberturapornodo.D=10
Tendremostantasvariablescomoubicacionespotenciales.Podemosutilizarestasvariables
para formular el modelo. Por ejemplo, tenemos que, para el nodo 4, podemos escribir la
siguienterestriccin:
X3+X4+X7 1
SidefinimosNicomoelconjuntodeubicacionespotencialesquecubrirnelnodoidentro
deladistanciaestndarD,(Ni={j/dij D},paracadanododemandaipodemosescribirla
restriccinsiguiente:
1 1, ,20.
Esteconjuntoderestriccionesforzarnaquecadanodoestcubierto.Ahorafaltaformular
el objetivo. Como queremos minimizar en nmero de centros a ubicar, cuantas menos Xj
seaniguala1,mejor.Porlotanto,elobjetivolopodemosformulardelasiguienteforma:
min
Sidefinimosmcomoelnmerototaldenodosdedemandayncomoelnmerodetotalde
ubicaciones potenciales, la formulacin final del Problema de Localizacin con Cobertura
es:
min
1 1, ,
3.3ProgramacinLinealEntera
0,1 1, , .
Se puede utilizar el mdulo Solver de Excel para resolver el problema con distancias
estndar diferentes. En el Cuadro 3.5 se presentan algunos resultados para coberturas
diferentes:
Nmero
Distancia
mnimoDe UbicacionesFinales
EstndarD
Centros
15 3 8,9,19
12 4 3,8,15,17
11 5 3,10,12,18,20
10 6 4,8,12,17,18,20
9 8 4,8,12,15,17,18,19,20
8 9 4,5,8,9,13,15,18,19,20
Cuadro3.4:Resultadoscondiferentescoberturas
Esteproblemasueleteneravecesbastantessolucionesptimasalternativas.ElPLSCpuede
modificarse para considerar, por ejemplo, la minimizacin del presupuesto. Si cada nodo
potencial de obtener un servicio tiene asociado un costo fijo de apertura fj, podemos
reformularelobjetivodelproblemadelasiguienteforma:
min
Enesteproblema,lafijacindeladistanciaestndarDesdeterminantedelosresultados,
porloquehayirconmuchocuidadoaldeterminarla.
Supongamosque,ennuestroejemplo,ladistanciaestndarestfijadaen10.Alresolverel
PLSCencontramosquelasolucinptimaesiguala6centros,ubicadosenlosnodos4,8,
12,17,18y 20. Peroelsistemanotienesuficientepresupuestopara construir6centros.
nicamentetieneunpresupuestopara4centros.Comoelnmeromnimodecentrospara
cubrirlapoblacinesiguala6,con4centrosnopodremoscubrirlaporcompleto.Eneste
caso, si fijamos en nmero de centros, podemos intentar encontrar sus ubicaciones de
forma a maximizar la cobertura de la poblacin. Este problema es conocido como el
ProblemadeLocalizacinconCoberturaMxima(PLCM).
ElProblemadeLocalizacinconCoberturaMxima(PLCM).
Esteproblemapuedeserdescritodelasiguienteforma:
3.3ProgramacinLinealEntera
EsteproblemaesunaextensindelPLSC.Paraformularelmodelotenemosqueaadirun
nuevogrupodevariablesbinariasYi,quedenominaremosdecobertura,queserniguala1
sielnodoiestcubiertoporuncentrodentrodeladistanciaestndarD;eiguala0sinolo
est.Comoenlasolucinfinalalgunosnodosdedemandaquedarndescubiertos(yaque
no tenemos suficientes centros para cubrir toda la poblacin), algunas de estas variables
sern0.Cojamosdenuevocomoejemploelnodo4.Paraqueelestcubiertosetieneque
localizar como mnimo un centro en uno de los nodos 3, 4 o 7. Ahora tendremos que
escribirlarestriccinsiguiente:
X3+X4+X7 Y4
SicomomnimounadelasvariablesdelocalizacinXesiguala1,lavariableY4podrser
tambiniguala1,yporlotantoelnododedemanda4estarcubierto.Si,encambio,todas
las variables X de la restriccin son iguales a 0, la variable de cobertura Y4 ser
forzosamente igual a 0 y el nodo 4 no estar cubierto. Para cada nodo de demanda
escribiremoslasiguienterestriccin:
1, . . , 20
max
poblacin)asociadaalnodoi.ContramsYiseaniguala1,mscoberturaobtendremos.La
formulacinfinaldelproblemaes:
max
1, . . ,
, 0,1 1, , 1, . . ,
Laformulacindelproblemademximacoberturaparanuestroejemplo,conD=10yp=
4.ElresultadofinalsepresentaenelCuadro3.6.
Nmerode
Centros 4
Distanciaestndar 10
PoblacinCubierta 88%
Ubicaciones 4,8,12,17
Nodosno
cubiertos 18,20
Cuadro3.6:ResultadosdelPLCMenelejemplo
Vemos que con 4 centros pasamos a cubrir el 88% de la poblacin. En otras palabras,
mientras que el nmero mnimo de centros necesarios para cubrir toda la poblacin era
iguala6,con4centroscubrimosel88%deellaynicamentedosnodosnoestncubiertos.
ModelodeLocalizacinPMediano
ElmodeloPMedianodelocalizacin(MPML)tienequeobjetivoprincipallaminimizacin
deladistanciamediaentrelosnodosdedemandayloscentros.Elproblema,enpalabras,
eselsiguiente:
Dndeseubicarnpcentrosdeformaaminimizarladistanciamediaentrestosy
losnodosdedemanda?
Paraformularesteproblemanecesitamosconocer,comoenelproblemaanterior,lamatriz
de distancias y la demanda que se genera en cada uno de los nodos. En este caso no se
3.3ProgramacinLinealEntera
utilizaunadistanciaestndar.Lasvariablesdemodelosern:
Acontinuacindefinimoslasrestricciones.Enprimerlugar,unnododedemandatieneque
estarasignadoaunnicocentro.Paraforzarestasituacin,paracadanododedemandai,
lasumadelasXijconrespectoalndicejtienequeseriguala1.Entrminosmatemticos:
1 1, ,
Ahorabien,elnodoinopodrserasignadoalnodojsinoexisteuncentroenj.Comola
variableWjindicasiexisteuncentroenjono,tendremosque:
1, , . 1, , .
Sinoexisteningncentroenj,Wj=0,loqueimplicaqueningnnododedemandapodr
serasignadoaj.Enestecaso,todaslasvariablesXijserniguala0.
Finalmente,tenemosquefijarelnmerodecentrosaabrir.Lasiguienterestriccintiene
queseraadidaalmodelo:
Finalmente,tenemosqueformularelobjetivodedistanciamedia.Tenemosqueaidijserla
distanciatotal entrelapoblacin(o demanda)eniyelcentroenj.Sisumamosaidijpara
todaslasitendremostodalademandaasignadaaj.Luegotenemosquesumarparatodas
lasj,ytendremosladistanciatotaldelsistema.Elobjetivoes:
min
UnavezobtenidoelvalordeZ,tenemosquedividirloporlademanda(opoblacin)total
delsistemaparaobtenerladistanciamediaentrelademandayloscentros.
Enresumen,laformulacindelproblemaPmedianoes:
3.3ProgramacinLinealEntera
min
. .
1 1, ,
1, , . 1, ,
Esta formulacin suele tener muchas variables y restricciones. Por ejemplo, si m=n=100
tendremos 10.100 variables y 10.101 restricciones. Existen varias formas de reducir el
nmerodevariablesyrestricciones,peroanasestemodelosueleserbastantegrande.Se
handesarrolladovariosmtodosheursticosparapoderencontrarsolucionesdelMPML.
ElProblemadeLocalizacindePlantasconCapacidad
Enmuchoscasoselobjetivoprincipalesencontrarunaseriedeubicacionesqueminimicen
tanto los costos de transporte como el costo de apertura de los centros. El modelo de
LocalizacindePlantasconCapacidad(MLPC)sedescribedelaformasiguiente:
Cuntoscentrossenecesitanydndehayqueubicarlosparaminimizarloscostos
totalesdelserviciosinexcedersucapacidad?
Parapoderformularelmodelo,necesitamoslossiguientesparmetros:
ai=demandaenelnodoi
dij=distanciaentreelnododedemandaiyelnododeubicacinpotencialj.
fj=costodeaperturadeuncentroenelnodoj
cij=costodetransporteporunidaddedemandayunidaddedistancia
Cj=capacidaddeuncentrosiseubicaenj
ylasvariablesqueacontinuacinsedescriben:
Xij=demandadelnodoiatendidaporelcentroenj
Wj=1,siubicamosuncentroenj;0,encasocontrario.
3.3ProgramacinLinealEntera
Un vez definidos los parmetros y las variables del modelo, se tienen que formular las
restricciones.Enprimerlugar,nopodemosexcederlacapacidaddecadacentro.Paraque
esto se cumpla, la demanda asignada a cada uno de los centros potenciales j no puede
excedersucapacidad.Entrminosmatemticos:
1, , .
Porotrolado,lademandadecadaunodelosnodostienequeseratendida.Esdecir:
1, , .
Finalmente,unnododedemandainopuedeserservidoporjsinoexisteuncentroenj.
Matemticamente,
1, , .
endondeMesunparmetroconunvalormuyelevado(porejemplo,1010).SiWjesiguala
0, forzosamente todas las Xij sern igual a 0. En caso contrario, si Wj es igual a 1, las
variablesXijpodrntomarcualquiervalor,yaquenotendrnningunacotasuperior.
Ahora falta definirel objetivo.Por un lado tenemos los costos deapertura,o costos fijos.
Por otro lado, tenemos que minimizar los costos de distribucin o transporte. Estos dos
tipos de costos juegan un papel opuesto en relacin al nmero de centros a ubicar.
Mientrasque,contramscentrosabramos,menorserelcostodetransportealreducirse
las distancias, por otro lado los costos de apertura aumentarn considerablemente. El
modelobuscarelnmerodecentrosqueminimiceloscostostotales.Elobjetivosedefine
matemticamentecomo:
min
El primer trmino de del lado derecho de la ecuacin refleja los costos de apertura. El
segundotrminoformulaloscostostotalesdetransporte.
Enresumen,elmodeloseformuladelasiguienteforma:
3.3ProgramacinLinealEntera
min
. .
1, , .
1, , .
1, , .
0; 0,1 1, , . 1, , .
Esteproblemaesdeprogramacinlinealenteramixta,yaquemientrasquealgunasdelas
variablessonenteras(enestecasolasWjsonbinarias),otrassoncontinuas(lasXijpueden
tomarcualquiervalornonegativo).
3.3.6Conclusiones
3.4ActividadesparaelAprendizaje.
3.4ActividadesparaelAprendizaje.
Luegodevisitarestasdireccionesdepginasweb,elaborarunresumeny/odesarrollarlos
ejerciciospropuestosparaeltemacorrespondiente:
Investigacindeoperaciones:http://www.investigacionoperaciones.com/contenido.htm
Resolverlosejerciciosalcapitulocorrespondiente:
CtedradeMtodosCuantitativosparalosNegocios.
http://www.unsa.edu.ar/mcneco/mcn_tps.html
ProgramacinMatemtica
http://www.uv.es/~sala/programacion.htm
BienvenidosaloscursosdelreadeOperacionesDescargarejercicios:
http://ucreanop.org/descarga_ejercicios.php
3.4ActividadesparaelAprendizaje.