Está en la página 1de 54

Trabajo Fin de Máster

Máster Oficial en Estadística Aplicada


Departamento de Estadística e I.O.
Universidad de Granada

USO DE R EN LA PLANIFICACIÓN DE
PLANTILLAS

Irene Cristina Gómez Alemany

Tutores: Juan Antonio Marmolejo Martín y


Andrés González Carmona

Septiembre 2016
2
Agradecimientos
En primer lugar quisiera agradecer a la Dirección Territorial de Melilla del
Instituto de Mayores y Servicios Sociales y al Centro Polivalente de Servicios para
Personas Mayores su colaboración desinteresada facilitándome los datos necesarios
para la elaboración de este trabajo.

También agradezco a mis tutores por su paciencia y ayuda, en especial a J. Antonio


Marmolejo, por guiarme y aconsejarme durante este largo camino que ha sido para mí
los estudios y el posgrado.

Sin olvidarme, por supuesto, de mi familia y pareja, que me han animado y apoyado
durante toda mi vida y en concreto para poder finalizar con éxito el desafío que ha
supuesto para mí el Máster en Estadística Aplicada.

3
4
Índice General

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Capítulo 1. Planificación de los Recursos Humanos . . . . . . . . . . . . . . . . . . . . . . . . . . 7


1.1. Planificación de los recursos humanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2. Recursos humanos en el Instituto de Mayores y Servicios Sociales. El caso
particular de Melilla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1. Centro Polivalente de Servicios para Personas Mayores . . . . . . . . . . . . . . . 11

Capítulo 2. Metodología: Programación Lineal. Algoritmo Simplex en R . . . . . . . . 13


2.1. I.O. y la Programación Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1. Método Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2. Método de las Dos Fases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2. El método Simplex en el entorno R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.1. Función simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.2. Función lp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.3. Función solveLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Capítulo 3. Modelo para planificación de plantillas . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Capítulo 4. Aplicación práctica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29


4.1. Construcción del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1.1. Variables de decisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1.2. Función objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.3. Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1.4. Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2. Implementación en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Capítulo 5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1. Futuras líneas de investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Anexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5
Introducción
La Investigación Operativa (I.O.) es una disciplina científica, surgida en los
entornos bélicos más importantes del siglo XX, consistente en la aplicación de teorías,
métodos y técnicas para buscar solución a problemas de organización de sistemas, en la
toma óptima de decisiones y la planificación de actividades.

Para hallar dicha solución, se presenta el problema como un modelo matemático,


como el de Programación Lineal (PL). Se trata de un procedimiento matemático de
aplicación de métodos que permiten resolver problemas de asignación y optimización de
recursos. Es una herramienta que ha ahorrado cantidades ingentes de dinero a numerosas
compañías gracias a sus variadas aplicaciones, con la inestimable ayuda del algoritmo
Simplex, en todos los ámbitos de una organización: producción, logística, recursos
humanos, marketing, financiación, etc.

Los recursos humanos es una de las áreas organizacional cuya importancia ha


crecido más en los últimos tiempos. Cada vez se le presta mayor atención al capital
humano, tanto en lo referente a políticas sociales, las necesidades de personal, como a la
asignación de tareas y el dimensionamiento de plantillas. Esta última práctica es la que
vamos a abordar en este trabajo, para lo cual emplearemos la programación lineal y R,
uno de los softwares de computación estadística libres más flexibles y potentes utilizado
en numerosos campos y en el que disponemos de librerías que permiten dar solución a
problemas de PL.

Para ejemplificar y así dar cuerpo a esta teoría, con este proyecto analizamos un
caso real de asignación de plantillas en la Administración Pública, consistente en la
optimización de la plantilla de auxiliares de clínica del Centro Polivalente de Servicios
para Personas Mayores de la Ciudad Autónoma de Melilla, con el objetivo de minimizar
los costes semanales de personal de esta categoría. En primer lugar, plantearemos un
modelo general aplicable al proceso de planificación de plantillas que, a continuación,
utilizaremos para la construcción del modelo PL que represente fielmente los datos de
nuestro problema, lo implementaremos en R y ejecutaremos las funciones disponibles
para este método. De este modo podremos concluir si actualmente el Centro cuenta con
el personal adecuado, cuantitativamente hablando, para la óptima prestación de cuidados
a sus residentes.

6
Capítulo 1

Planificación de los Recursos Humanos

Existe una creencia generalizada, probablemente errónea, de que el fundamental


aspecto de cualquier organización es el factor económico, seguido de la producción y
posiblemente dejando en último lugar a los recursos humanos, aunque hay evidencias de
que esta tendencia ha ido cambiando las últimas décadas.

Aunque desde el comienzo de los tiempos se haya necesitado la mano de obra para
cualquier actividad (agricultura, artesanía, manufactura), tardaron en darle a la mente
humana el lugar que le pertenece. Con la Revolución Industrial y la producción
mecanizada se trataba de conseguir una producción eficiente en un ambiente de trabajo
monótono, arriesgado y mal retribuido, hasta que en el siglo XX Frederick Taylor se dio
cuenta de que una mejora en el rendimiento estaba directamente relacionado con las
mejoras en las condiciones laborales, surgiendo entonces por primera vez el concepto
“Recursos Humanos”, comenzando así a considerarlo un capital importante dentro de las
organizaciones y no solo como un elemento más de la producción.

Dentro de la gestión de los recursos humanos se diferencian, como en el resto de


áreas organizacionales, cuatro funciones esenciales para su óptimo funcionamiento:
planificación, organización, dirección y control. La planificación, como primer paso en
el proceso, es la encargada de unificar los recursos de la organización con el fin de trazar
el rumbo y objetivos a lograr, para la consecución de sus metas empresariales, conseguir
un buen rendimiento y la creación de ventajas competitivas.

Cualquier proceso planificador consta de las siguientes etapas:

1) Análisis de la situación. Conocer y analizar el entorno y tanto las desventajas


como las posibilidades de las que se dispone.

7
2) Definición de objetivos y metas. Determinar los fines a lograr en concordancia
con la meta de la organización.
3) Selección de la línea de actuación y establecimiento de planes derivados.
Definir un plan de acción detallado y otros planes complementarios en apoyo al
principal.
4) Asignación de recursos. De toda índole que se requiera: financiero, físico,
humano.
5) Ejecución del plan.
6) Control del plan. Asegurarse durante todo el proceso que se estén cumpliendo,
de forma adecuada, los objetivos fijados para poder corregir cualquier
desviación.

1.1. Planificación de los recursos humanos

“En términos generales podríamos decir que la planificación de los recursos


humanos supone prever las necesidades de recursos humanos de la organización, para los
próximos años, y fijar los pasos necesarios para cubrir dichas necesidades” (McBeath,
1992).

Otra definición acorde para la planificación de los recursos humanos es la de Dolan,


Valle Cabrera, Jackson y Schuler (2003): “se trata del proceso de elaborar e implantar
planes y programas para asegurarse de que hay disponibles el número y tipo de personas
apropiados, en cada uno de los momentos para el que se realiza la planificación, para
satisfacer las necesidades de la organización”

A la planificación de los recursos humanos también se le puede atribuir un proceso


por etapas similar al de cualquier área:

1) Análisis interno, con el que se trata de conocer a la organización y sus áreas de


actividad mediante la elaboración de un organigrama y un inventario de
personal y puestos.
2) Evaluación de la organización del trabajo. Así se examinan y conocen las
debilidades y fortalezas sobre las que trabajar para incrementar la productividad
y rentabilidad, como podrían ser la autonomía, la eficacia, el trabajo en equipo,
el ambiente de trabajo, etc.

8
3) Previsión. Determinar la posición futura que se trata de conseguir.
4) Programación. Realizar un plan de trabajo estableciendo plazos, personas
implicadas, prioridades, etc.
5) Ejecución. Puesta en marche del plan.
6) Control. Llevar a cabo un seguimiento del plan para localizar posibles
desviaciones y corregirlas.

Barranco (1993, pág. 217) establece las siguientes reglas básicas que la
planificación de los recursos humanos debe cumplir:

“ - Optimizar el factor humano de la empresa.


- Asegurar en el tiempo la plantilla necesaria, cualitativa y cuantitativa.
- Desarrollar, formar y promocionar al personal actual, de acuerdo con las
necesidades futuras de la empresa.
- Motivar el factor humano de la empresa.
- Mejorar el clima laboral.
- Contribuir a maximizar el beneficio de la empresa.”

En los últimos años hemos vivido un crecimiento en la aplicación de este tipo de


planificación debido a los cambios producidos en el entorno y las organizaciones. El
mercado laboral ha sufrido cambios considerables durante el último siglo, tanto
cualitativos como cuantitativos, encontrándonos con una escasez de ciertos perfiles
profesionales junto con un exceso de mano de obra difícil de ser absorbido por las
empresas, las cuales, a su vez, se han expandido y diversificado debido a la globalización,
la competencia ahora mundial y las operaciones internacionales.

En la planificación es importante prestar atención tanto al aspecto cualitativo como


al cuantitativo. En este sentido, en recursos humanos se debe intentar conciliar las
necesidades de la empresa, en cuanto a la cualificación y el número de personas
necesarios, con la evolución prevista de la plantilla.

Existen elementos que determinan las necesidades cuantitativas de personal, como


el grado de tecnificación, la situación de la coyuntura, las rotaciones, despidos o
jubilaciones, etc., cuya previsión se puede realizar empleando una serie de técnicas.
Tenemos unas basadas en la experiencia, es decir, que se apoyan en el juicio de personas
con conocimiento como podrían ser la investigación de expertos o la técnica Delphi.

9
Además, también pueden guiarse a través de análisis de presupuestos o de nuevas
operaciones. Existen otras basadas en tendencias, las cuales suelen emplearse para
decisiones a corto plazo, como la extrapolación e indexación; mientras que para el medio
plazo suele utilizarse el análisis estadístico, como haremos en este trabajo.

1.2. Recursos Humanos en el Instituto de Mayores y Servicios Sociales.


El caso particular de Melilla.

Es evidente que hay organizaciones que necesitan otorgar mayor importancia a los
recursos humanos, como ciertas entidades públicas o las destinadas al cuidado y servicio
de la población. Un ejemplo de este tipo de entidades es el Instituto de Mayores y
Servicios Sociales, IMSERSO, una Entidad Gestora de la Seguridad Sociales, adscrita al
Ministerio de Sanidad, Política Social e Igualdad, responsable de los colectivos de
personas mayores y de personas en situación de dependencia, y del desarrollo de políticas
y programas en relación con el envejecimiento activo de la población, aunque únicamente
mantiene Direcciones Territoriales en Ceuta y Melilla desde 1998.

Los servicios que presta el IMSERSO en sus centros son:

 Ayuda o ejecución completa de las actividades básicas de la vida diaria de las


personas (higiene, alimentación, movilidad…)
 Garantizar la seguridad integral de los usuarios mediante supervisión y
acompañamiento
 Ayuda en la comunicación
 Atención sanitaria (valoración geriátrica, detección, tratamiento y seguimiento
de problemas físicos, psíquicos y funcionales)
 Realización de talleres y terapias para la habilitación de la autonomía personal
 Trabajo social: información y asesoramiento, apoyo para la realización de
gestiones, atención e información a la familia, actividades de ocio y tiempo
libre.
 Servicios residenciales como alimentación, mantenimiento de ropa y limpieza.
 Otros servicios para mejorar la vida de los mayores, como cafetería, peluquería,
podología y servicios religiosos.

10
Este organismo posee distintos centros propios y trabaja en colaboración con otros
externos según al colectivo al que se dirija. En Melilla contamos con: el Centro Base,
para el servicio a personas con discapacidad de cualquier tipo; un Centro de Día para la
atención a los más mayores, donde ofrecen servicios de peluquería, podología, comidas
y ocio durante el día, además de contar con un número reducido de residentes; y una
Residencia de Mayores.

1.2.1. Centro Polivalente de Servicios para Personas Mayores

El Centro Polivalente de Servicios para Personas Mayores1, o Residencia de


Mayores, tiene el objeto de ofrecer vivienda habitual y definitiva a las personas mayores
con una atención integral veinticuatro horas, y que es, dada su magnitud e importancia,
en el que nos vamos a centrar como aportación práctica sobre cómo utilizar la
Programación Lineal para estudiar la cobertura de personal necesario para el
funcionamiento del mismo y la óptima atención a sus residentes.

La Residencia está estructura en tres plantas, las cuales se dividen en cuatro


módulos cada una. Mientras que la segunda y tercera cuentan con ochenta camas cada
una, en la primera nos encontramos con un módulo destinado a distintos servicios
sanitarios (fisioterapia, despachos de médicos, clínica para enfermeros, sala de aerosoles),
otro para el Centro de Día y la Estancia Temporal, y los dos módulos restantes con veinte
camas cada uno.

Este centro dispone en sus instalaciones de 207 camas, 40 plazas para personas no
dependientes, 160 para dependientes, 7 para estancias temporales, tanto dependientes
como no dependientes, y de un Servicio de Estancia Diurna para un máximo de 30
usuarios. Sin embargo, actualmente cuenta con una ocupación de 123 residentes
permanentes, de los cuales casi la totalidad son grandes dependientes, 7 residentes
temporales y 13 usuarios para el Centro de Día. Que la ocupación actual sea de entorno a
un 60% es consecuencia de las exigencias de la Ley de Dependencia por la que todos los
nuevos ingresos son de residentes dependientes o grandes dependientes, los cuales
requieren mayores cuidados. Esto, sumado a las políticas de austeridad de los últimos
años que no permiten la incorporación o reposición de más personal en el centro, ha

1
En el Anexo I está disponible la Carta de Servicios del Centro.

11
desembocado en un descenso de la capacidad del mismo para atender a sus residentes o
un número mayor.

El centro actualmente cuenta con una plantilla formada por 145 personas,
pudiéndose diferenciar en dos grupos: por un lado, el personal de atención directa, que
está formado por el personal sanitario y compuesto por médicos (2), un psicólogo, un
trabajador social, fisioterapeutas (2), un terapeuta ocupacional, Diplomados
Universitarios en Enfermería/Auxiliares Técnicos Sanitarios (DUES/ATS) (16) y
Oficiales de Actividades Específicas (OAES) (88); y por otro lado se encuentra el resto
del personal (Directora gerente, Administrador, responsables de área (4), Gobernanta,
Subgobernanta, camareros de piso (21) y personal administrativo (5)). El colectivo que
vamos a estudiar en este trabajo es aquel imprescindible, además del más numeroso, que
realiza la principal actividad de este centro como es el cuidado a los mayores: los
auxiliares de clínica, que actualmente conforman aproximadamente el 60% de la plantilla.

12
Capítulo 2

Metodología: Programación Lineal. Algoritmo Simplex


en R

2.1. I.O. y la Programación Lineal

La necesidad de las administraciones militares de la Segunda Guerra Mundial de


realizar una eficiente asignación de los recursos escasos para sus maniobras, tanto para el
factor económico como el humano, dio lugar a la creación de grupos de investigación
sobre operaciones los cuales se encargaron de darle respuesta a este problema. Así surgió
la Investigación Operativa (IO) que, tras la finalización de la guerra y dada la exitosa
aplicación que tuvo para problemas estratégicos y tácticos, se dio a conocer al resto del
mundo comenzando, a partir de entonces, a aplicarse a numerosos sectores y áreas
organizacionales, consiguiendo así dar solución a los problemas que venían sufriendo las
organizaciones desde el cambio que supuso en ellas la Revolución Industrial: el aumento
del tamaño, la complejidad y la especialización de las mismas.

La Investigación de Operaciones se puede definir como la disciplina que se


emplea en la toma de decisiones, utilizando modelos matemáticos y algoritmos para el
estudio de sistemas u organizaciones teniendo en cuenta la escasez de recursos existente.

Desde su aparición se han dado numerosas definiciones, como la de Prawda (2004)


que la define como “la aplicación, por grupos interdisciplinarios, del método científico a
problemas relacionados con el control de las organizaciones o sistemas (hombre-
máquina) a fin de que se produzcan soluciones que mejor sirvan a los objetivos de toda
la organización”. También otras más simples como la de McCord y Kimball (1951) “Un
método científico para dotar a los departamentos ejecutivos de una base cuantitativa para
las decisiones que tengan que ver con las operaciones bajo su control” o la de Hillier y

13
Lieberman (1990) “La ciencia que estudia el modelado de sistemas probabilísticos y
determinísticos que se originan en la vida real desde un punto de vista de toma de
decisiones óptimas”.

El empleo de esta disciplina en las organizaciones reporta beneficios como el


incremento de la posibilidad de tomar las mejores decisiones, dado que el ser humano no
puede visualizar por sí solo y sin el empleo de herramientas y tecnología todo un sistema
en conjunto con sus múltiples componentes e interrelaciones. Además, mejora la
coordinación entre estas componentes, ayudando a la ordenación eficiente de las mismas,
así como llevar el control de todo el sistema y lograr lo mejor del mismo, consiguiendo
la minimización de costes maximizando beneficios con unas interacciones más fluidas.

Para la resolución de cualquier problema planteado en la Investigación de


Operaciones se sigue el siguiente proceso: en primer lugar, se procede a la observación y
recolección de datos necesarios para la formulación del problema, lo que posteriormente
lleva a la construcción de un modelo que lo represente fielmente; y a continuación se
valida el modelo tras ciertos experimentos e hipótesis para finalmente llevarlo a la
práctica.

Dentro de la Investigación Operativa se conocen numerosas técnicas como la Teoría


de juegos, Teoría de colas, Teoría de grafos, Programación dinámica o la Programación
Lineal.

Esta última, considerada la más importante, surgió a la par que la Investigación


Operativa. Sin embargo, los primeros vestigios aparecieron con Lagrange, además de
otros grandes matemáticos como Newton, Leibnitz o Bernoulli, con el estudio para la
obtención de óptimos condicionados por funciones en los siglos XVII y XVIII. Aunque
Fourier comenzó a intuir la potencialidad de esta técnica un siglo más tarde, no fue hasta
1939 cuando Kantorovich publicó su monografía Métodos matemáticos de organización
y planificación de la producción (1939) donde apareció lo que conocemos hoy en día
como Programación Lineal, con su teoría matemática para la optimización de recursos en
la planificación. Lo que realmente dio a conocer e impulsó la Programación Lineal fue la
Segunda Guerra Mundial, como indicamos antes, cuando los grupos de investigación para
operaciones militares consiguieron optimizar los recursos escasos para las actividades
bélicas gracias a esta técnica, lo que posteriormente llevó a extrapolar su uso al sector

14
civil. Tanto es así, que en 1941 Kantorovich trató por primera vez el problema del
transporte, seguido por G.Stigler quien planteó el problema de la dieta (régimen
alimenticio optimal) en 1945.

Otra causa del gran impulso que tuvieron la Investigación Operativa y la


Programación Lineal fue la revolución de los ordenadores, lo cual a su vez sucedió gracias
a la Segunda Guerra Mundial, donde la victoria de los Aliados no hubiera sido posible
sin la ayuda de aquellas computadoras decodificadores así como la revolución que supuso
la aparición del radar para el control de los movimientos aéreos. Estos métodos no
hubieran podido desarrollarse hasta como los conocemos hoy en día sin la ayuda de
computadoras electrónicas digitales que realicen los engorrosos, rápidos y múltiples
cálculos aritméticos que los complejos problemas que en ocasiones se plantean necesitan.

La Programación Lineal es uno de los métodos matemáticos más importantes


desarrollados en el siglo XX, consistente en un conjunto de técnicas matemáticas
empleadas en la resolución de problemas de optimización dados una meta u objetivo
concreto (maximización y/o minimización) y unas limitaciones a cumplir, representados
mediante funciones lineales.

El modelado en la Programación Lineal está compuesto por los siguientes


conceptos:

Las variables de decisión, representadas por 𝑥𝑗 para 𝑗 = 1,2, … , 𝑛 , se definen como


el conjunto de variables cuya magnitud deseamos determinar, es decir, los recursos o
actividades que tratamos de asignar.

La función objetivo, 𝑍, representa el objetivo que tratamos de lograr mediante una


función lineal que relacione las variables de decisión de la siguiente manera, considerando
𝑐𝑗 como el coeficiente de variación de 𝑍 al aumentar una unidad de 𝑥𝑗 :

𝑍 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛

𝒁 = 𝒄𝒙;

𝑥1
𝒙 = [ ⋮ ], 𝒄 = [𝑐1 , … , 𝑐𝑛 ]
𝑥𝑛

15
Debemos determinar si se trata de un problema de maximización o minimización de esta
función objetivo.

Las restricciones, que representan las limitaciones a las que se enfrentan las
variables de decisión y que quedan expresadas por ecuaciones o inecuaciones lineales.
Nos encontramos con dos tipos de restricciones: restricciones funcionales o estructurales
y restricciones de no negatividad. De forma que, denominando 𝑎𝑖𝑗 la cantidad de recurso
𝑖 consumido por cada unidad de 𝑗 y 𝑏𝑖 la cantidad de recurso 𝑖 disponible para asignarse,
tendríamos 𝑚 restricciones funcionales:

𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ ó ≥ 𝑏1


𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≤ ó ≥ 𝑏2

𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 ≤ ó ≥ 𝑏𝑚

expresadas matricialmente:

𝑨𝒙 ≶ 𝒃

𝑏1 𝑎11 … 𝑎1𝑛
𝒃 = [ ⋮ ], 𝑨=[ ⋮ ⋮ ]
𝑏𝑚 𝑎𝑚1 … 𝑎𝑚𝑛

Además de las restricciones de no negatividad:

𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0

0
𝒙 ≥ 𝟎, 𝟎 = [⋮]
0

Con lo que el modelo PL quedaría:

𝑂𝑝𝑡. 𝑍 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛 𝑂𝑝𝑡. 𝒁 = 𝒄𝒙
Sujeto a: Sujeto a:
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ ó ≥ 𝑏1 𝑨𝒙 ≶ 𝒃
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≤ ó ≥ 𝑏2
𝒙≥𝟎

𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 ≤ ó ≥ 𝑏𝑚
𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0

16
Deben considerarse ciertos supuestos acerca de las actividades y datos del problema
a modelar. Existe un supuesto de proporcionalidad que dice que la contribución de cada
actividad al valor de 𝑍 es proporcional al nivel de la actividad 𝑥𝑗 tal y como lo expresa
𝑐𝑗 𝑥𝑗 , al igual que la contribución de cada actividad al lado izquierdo de cada restricción
es proporcional al nivel de actividad 𝑥𝑗 como lo representa 𝑎𝑖𝑗 𝑥𝑗 . El supuesto de
aditividad establece que cada función del modelo es la suma de las contribuciones
individuales de las respectivas actividades. También está el supuesto de divisibilidad,
según el cual las variables pueden tomar valores enteros o no, y el de certidumbre que
supone que los valores asignados a cada parámetro son constantes conocidas.

Las soluciones obtenidas mediante la resolución de este modelo no implican una


respuesta final. Existen soluciones factibles, las cuales satisfacen las restricciones
impuestas, y soluciones no factibles cuando no cumple alguna de ellas, pudiendo ocurrir
que nos encontremos con varias soluciones factibles, a lo que denominaríamos región
factible, o ninguna. Lo que buscamos en este tipo de problemas es una solución óptima,
una solución factible que proporcione el valor más favorable de la función objetivo
(mínimo o máximo según el caso).

Aunque parezca simple en su planteamiento base, la programación lineal


proporciona un amplio abanico de posibilidades, pudiendo aplicarse tanto en industrias
como en negocios o el sector militar, tal y como vimos anteriormente. Desde su aparición
se ha utilizado para problemas de optimización y asignación en producción, logística,
finanzas, marketing, transporte e incluso recursos humanos, que es la actividad en la que
nos centramos en este trabajo, gracias también a la aparición del algoritmo simplex
formulado por G.B. Dantzig en 1947. Se trata de un algoritmo iterativo que
secuencialmente se va aproximando al valor óptimo deseado y que permite, para
problemas con múltiples variables y restricciones, acotar soluciones y una resolución más
rápida y sencilla.2

Para poder resolver un problema mediante este método es necesario emplear un


modelo estándar, el cual debe cumplir unas condiciones:

2
La primera implementación computacional se hizo en un problema con 71 variables y 48 restricciones.

17
- Minimización de 𝑍.
- Todas las restricciones 𝑚 deben ser identidades.
- Las variables 𝑥𝑛 deben cumplir la condición de no negatividad.
- Los términos independientes 𝑏𝑖 de cada ecuación deben ser no negativos.

En caso de encontrarnos con un modelo no estandarizado, debemos adaptarlo tal y


como se muestra a continuación:

 Si tenemos 𝑏𝑖 < 0, estandarizamos multiplicando por −1 las restricciones.


 Con restricciones de desigualdad menor o igual “≤ " deberemos introducir las
denominadas variables de holgura (slack), 𝑥𝑠 , sumando tanto en la ecuación con
coeficiente 𝑎𝑖𝑗 = 1 como en la función objetivo con coeficiente 𝑐𝑛 = 0. Así, las
restricciones quedarán:
 En caso de desigualdades mayor o igual “≥” añadimos una variable de exceso
(surplus), 𝑥𝑠 , restando en las ecuaciones. Pero surge el problema de no negatividad,
ya que en la primera iteración las variables básicas no estarán en la base y tomarán
valor 0, lo que hará negativo a 𝑏𝑖 . Por ello, será necesario añadir otra variable
denominada artificial, 𝑥𝑟 , sumando en la restricción y con coeficiente 0 en 𝑍.

El empleo de variables artificiales supone una violación de las leyes de álgebra, por
lo que habrá que cerciorarse de que tenga valor cero en la solución final, y de ello se
encarga el método de las Dos Fases, muy similar al Simplex.

A continuación vamos a explicar en forma tabular el proceso para la resolución


problemas PL, en primer lugar, mediante el método Simplex y luego por el de las Dos
Fases.

18
2.1.1. Método Simplex

La primera tabla en este proceso sería la siguiente:

𝐶1 𝐶2 … 𝐶𝑛

Base 𝐶𝑏 𝑃0 𝑃1 𝑃2 … 𝑃𝑛

𝑃1 𝐶𝑏1 𝑏1 𝑎11 𝑎12 … 𝑎1𝑛

𝑃2 𝐶𝑏2 𝑏2 𝑎21 𝑎22 … 𝑎2𝑛

⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮

𝑃𝑚 𝐶𝑏𝑚 𝑏𝑚 𝑎𝑚1 𝑎𝑚2 … 𝑎𝑚𝑛

𝑍 𝑍0 𝑍1 − 𝐶1 𝑍2 − 𝐶2 … 𝑍𝑛 − 𝐶𝑛

- La columna Base está compuesta por las variables básicas, que serán aquellas que
tomen valor para dar con la solución.
- En la columna 𝐶𝑏 tenemos los coeficientes de la función objetivo.
- En 𝑃0 están los términos independientes de cada restricción.
- El resto de columnas representan cada una de las variables de decisión.
- La fila superior muestra los coeficientes de la función objetivo para cada variable de
decisión y holgura.
- La última fila recoge el valor de 𝑍 y los costes reducidos 𝑍𝑗 − 𝐶𝑗 , o valores indicadores,
los cuales muestran la posibilidad de mejora en la solución del problema, 𝑍0 , tal que
𝑍𝑗 = ∑(𝐶𝑏𝑖 𝑃𝑗 ) ∀𝑖 = 1, … , 𝑚 y donde si: 𝑗 = 0 → 𝑃0 = 𝑏𝑖 , 𝐶0 = 0; 𝑗 ≠ 0 → 𝑃𝑗 = 𝑎𝑖𝑗

Dado que se supone un problema de maximización, el método finaliza cuando todos


los valores 𝑍 son positivos, lo que se denomina condición de parada, y sabremos que
tenemos solución óptima. Cuando esto ocurra, el valor óptimo de cada variable estará en
la columna 𝑃0 para aquellas que estén en la base, mientras que el resto tendrá valor 0.
Pero hasta entonces irán entrando y saliendo variables de la base de acuerdo a unos
criterios:
 El criterio de entrada establece que una variable debe incorporarse a la base
cuando su coste reducido sea el de menor valor de los negativos.
 Según el criterio de salida saldrán aquellas variables cuyo cociente 𝑃𝑜 /𝑃𝑗
(cuando 𝑃𝑗 > 0) sea el menor de los estrictamente positivos.

19
Así surge lo que se denomina elemento pivote, entendiendo por tal el resultante de
la intersección de la variable entrante con la saliente.

Con el movimiento de variables habrá que construir una nueva tabla cuyos valores,
a excepción de 𝑍, hay que actualizar. Los nuevos elementos de la fila pivote se calculan
con el cociente que divide el valor del anterior elemento de la fila entre el pivote, y el
resto de filas se calcula restando al valor del elemento anterior la multiplicación del
anterior elemento de la columna pivote con el nuevo elemento de la fila pivote. Así
conseguimos que todos los elementos de la columna entrante sean nulos excepto la
saliente que será 1.

2.1.2. Método de las Dos Fases

Fase I

Esta fase consiste en resolver un problema auxiliar 𝑍 ′ de minimización de la suma


de las variables artificiales hasta que sea cero. La tabla inicial de este método es:

𝐶1 𝐶2 … 𝐶𝑛−𝑘 … 𝐶𝑛

Base 𝐶𝑏 𝑃0 𝑃1 𝑃2 … 𝑃𝑛+𝑘 … 𝑃𝑛

𝑃1 𝐶𝑏1 𝑏1 𝑎11 𝑎12 … 𝑎1𝑛−𝑘 … 𝑎1𝑛

𝑃2 𝐶𝑏2 𝑏2 𝑎21 𝑎22 … 𝑎2𝑛−𝑘 … 𝑎2𝑛

⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮

𝑃𝑚 𝐶𝑏𝑚 𝑏𝑚 𝑎𝑚1 𝑎𝑚2 … 𝑎𝑚𝑛−𝑘 … 𝑎𝑚𝑛

𝑍 𝑍0 𝑍1 𝑍2 … 𝑍𝑛−𝑘 … 𝑍𝑛

Es bastante similar a la del método Simplex. Las diferencias residen en que en la


columna de coeficientes de 𝑍 aparecerán todos los términos a 0 excepto las variables
artificiales que será -1, y ahora el cálculo de 𝑍 será 𝑍𝑗 = ∑(𝐶𝑏𝑖 𝑃𝑗 ) − 𝐶𝑗 , ∀𝑖 = 1, … , 𝑚 (si
𝑗 = 0 → 𝑃0 = 𝑏𝑖 , 𝐶0 = 0; 𝑗 ≠ 0 → 𝑃𝑗 = 𝑎𝑖𝑗 ).

Tiene la misma condición de parada que el método anterior, y una vez que esta se
cumpla, habrá que determinar la posibilidad de pasar a la siguiente fase y obtener la

20
solución óptima del problema. Así será cuando las variables artificiales sean 1 y el
resultado 0, lo que indica la existencia de una solución, pero en caso contrario nos
encontraríamos con un problema no factible.

Fase II

En esta fase se utilizará la misma tabla que en el método Simplex, para cuya
construcción habrá que eliminar las variables artificiales de la tabla de la fase I y
reestablecer el cálculo de 𝑍.

Casos anómalos

o Infinitas soluciones. Esta situación se da cuando, cumplida la condición de parada,


hay una variable no básica con valor 0 en 𝑍, lo que significa que existe otra solución
que aporta el mismo valor óptimo.
o Solución no acotada. Ocurre cuando toda la columna de la variable de entrada tiene
todos sus elementos nulos o negativos.
o No factible. Teóricamente ocurre cuando ningún punto satisface todas las
restricciones, y en este método, cuando terminadas todas las iteraciones del algoritmo
existe variables artificiales básicas con valor mayor que 0.
o Empates. En caso de empates ante los criterios de entrada o salida de variables se
puede optar por cualquiera de ellas sin repercutir en la solución final aunque sí en el
número de iteraciones, y para evitar entrar en bucle, se recomienda escoger variables
de decisión.

2.2. El método Simplex en el entorno R

Como software de computación estadística libre más usado y recomendado, R


dispone de varios paquetes para la resolución de problemas de programación lineal. Entre
ellos se encuentran boot, lpSolve y linprog.

2.2.1. Función simplex

En R disponemos de un paquete básico boot que incluye multitud de órdenes y datos


de distinta índole. Una de esas órdenes es simplex, la cual utiliza el método simplex de
las dos fases y resulta fácil de utilizar, por contrario, es bastante intuitiva para trabajar

21
con matrices, pero solo funciona bien para variables continuas, presuponiendo no
negatividad, y para sistemas relativamente pequeños, con una velocidad del cubo del
número de restricciones. Además, presenta inconvenientes como que no identifica un
problema con óptimos alternativos o da error con soluciones no acotadas.

simplex (a, A1, b1, A2, b2, A3, b3, maxi, n.iter, eps)

Los argumentos necesarios para esta función son los siguientes:

 a – un vector de longitud 𝑛 de los coeficientes de la función objetivo.


 A1 y b1 – respectivamente, una matriz 𝑚1 × 𝑛 con los coeficientes de las
restricciones de tipo ≤ y un vector de longitud 𝑚1 con los valores del lado derecho
de dichas restricciones, los cuales deben ser no negativos. Entendemos por 𝑚1 el
número de restricciones de tipo ≤.
 A2 y b2 – estos argumentos se utilizan para las restricciones del tipo ≥ del mismo
modo que A1 y b1 para las de tipo ≤ (sin incluir las de no negatividad ya
consideradas por la función).
 A3 y b3 – estos son los argumentos correspondientes para los coeficientes y
valores del lado derecho de las restricciones con igualdades, funcionando del
mismo modo que para las restricciones con desigualdades.
 maxi – para especificar si se trata de un problema de minimización, que es lo que
realiza simplex por defecto, o no. En caso de afirmar la maximización, se cambiará
la función objetivo convirtiendo los coeficientes a negativos.
 n.iter – con este argumento se determina el número máximo de iteraciones para
cada fase, siendo por defecto 𝑛 + 2(𝑚1 + 𝑚2 + 𝑚3).
 eps – magnitud para la tolerancia para pruebas de igualdad.

En este paquete también encontramos la función simplex.object, con la cual


podemos ver ciertos datos del proceso resultantes de haber solucionado un modelo
mediante simplex con los siguientes argumentos:

 soln – los valores de 𝑥 que optimizan la función objetivo cumpliendo con las
restricciones dadas.
 solved – indica si el problema se ha resuelto no mediante los valores -1 en caso
negativo, 1 en caso positivo y 0 si se han ejecutado el número de iteraciones
máximo sin haber acabado la segunda fase.
 value – el valor de la función objetivo con los valores de 𝑥 de soln.

22
 val.aux – en caso de no encontrar solución factible, da un valor positivo según el
valor de la función objetivo cuando se minimizó.
 obj – coeficientes de la función objetivo original.
 a – los coeficientes de la función objetivo expresados de forma que las variables
básicas tengan coeficiente cero.
 a.aux – en caso de encontrar solución factible, proporciona la función objetivo
auxiliar al terminar la primera fase del método.
 A – matriz de restricciones expresadas por variables no básicas. Si hay solución
factible, será de dimensión 𝑚1 + 𝑚2 + 𝑚3 × 𝑛 + 𝑚1 + 𝑚2, siendo las
columnas finales las correspondientes a las variables de holgura y excedentes. En
caso contrario, habrá una columna adicional para las variables artificiales de la
primera fase.
 basic – los índices de las variables básicas en la solución: entre 𝑛 + 1 y 𝑛 + 𝑚1
corresponden a las variables de holgura, entre 𝑛 + 𝑚1 + 1 y 𝑛 + 𝑚1 + 𝑚2 a las
excedentes, y mayores que 𝑛 + 𝑚2 para las artificiales (este último caso se daría
si solved es -1).
 slack – valor final de las 𝑚1 variables de holgura.
 surplus – valor final de las 𝑚2 variables excedentes.
 artificial – en caso de no encontrar solución factible, dará los valores de las 𝑚1 +
𝑚2 + 𝑚3 variables artificiales.

2.2.2. Función lp

Otro paquete con el que podemos trabajar problemas PL es lpSolve, un paquete


externo que podemos descargar del repositorio de R. Dentro de él disponemos de distintas
funciones adicionales a lp que es la que ejecuta y soluciona el modelo, como lp.object o
print.lp, además de dos específicas para problemas de transporte y asignación,
,lp.transport y lp.assign.

lp (direction, objective.in, const.mat, const.dir, const.rhs, transpose.constraints,


int.vec, presolve, compute.sens, binary.vec, all.int, all.bin, scale, dense.const,
num.bin.solns, use.rw)

 direction – indicar “min” o “max” en caso de querer, respectivamente, minimizar


o maximizar.

23
 objective.in – vector numérico para los coeficientes de la función objetivo.
 const.mat – matriz con los coeficientes de las restricciones, con tantas filas como
número de restricciones y tantas columnas como número de variables, a no ser
que transpose.constraints=”FALSE”.
 const.dir – vector para el signo (≤, ≥, =) de cada restricción.
 const.rhs – vector numérico con los valores del lado derecho de cada restricción.
 transpose.contraints – por defecto, en const.mat cada restricción ocupa una fila.
Con transpose.contraints=FALSE, cuando la matriz sea muy grande, se pueden
constriur columna por columna.
 int.vec – vector numérico con los índices de las variables enteras.
 presolve – negativo: 0, afirmativo: cualquier otro valor numérico.
 compute.sens – 0 para no hacer sensibilidad y cualquier otro valor numérico para
afirmar hacerlo.
 binary.vec – vector numérico para los índices de las variables binarias.
 all.int – si todas las variables deben ser enteras. Falso por defecto.
 all.bin – si todas las variables deben ser binarias. Falso por defecto.
 scale – por defecto: 196, 0 para no escalar.
 num.bin.solns – si all.bin=TRUE, para obtener las soluciones óptimas.

lp.object (direction, x.count, objective, const.count, constraints, int.count, int.vec,


objval, solution, num.bin.solns status)

lp.assign (cost.mat, direction, presolve, compute.sens)

lp.transport (cost.mat, direction, row.signs, row.rhs, col.signs, col.rhs, presolve,


compute.sens, integers)

2.2.3. Función solveLP

Adicionalmente disponemos de linprog, otro paquete para problemas de


programación lineal que ofrece un menor rango de problemas que puede resolver, como
los problemas en forma estándar con restricciones de igualdad, pero que, sin embargo,
ofrece unos resultados más detallados que lpSolve o simplex, explicando paso a paso el
algoritmo. En este paquete tenemos la función que soluciona el modelo, solveLP, además
de otras complementarias como summary.solveLP o print.solveLP.

24
solveLP (cvec, bvec, Amat, maximum, const.dir, maxiter, zero, tol, dualtol, lpSolve,
solve.dual, verbose)

 cvec – vector 𝑛 de coeficientes c.


 bvec – vector 𝑚 de valores b.
 Amat – matriz A de tamaño 𝑚 × 𝑛.
 maximum – especificar si se trata de maximización o minimización (por
defecto).
 maxiter – número máximo de iteraciones.
 zero – los valores menos que cero se ponen a cero.
 tol – si las restricciones se violan por más de este valor, status será 3.
 dualtol – al igual que tol para problemas duales.
 lpSolve – determinar si usamos lpSolve para solucionar el problema.
 solve.dual – especificar si el problema dual también se debe resolver.
 verbose – cuántos resultados intermedios deben mostrarse.

Ejecutando esta función R nos devuelve la siguiente información, entre otras:

iter1, iter2: nº de iteraciones de la fase 1 y fase 2


basvar: vector de variables básicas
con: matriz de resultados en cuanto a las restricciones (valores máximos, valores
reales, diferencia, etc.)
allvar: matriz de resultados en cuanto a las variables, incluidas las de holgura
(valores óptimos, mínimos y máximos de c, etc.)
status: valor numérico que indica si se ha logrado la optimización: 0=se ha
logrado; 1 = lpSolve no ha funcionado; 2 = el problema dual no se ha podido
resolver; 3 = las restricciones no se cumplen en la solución: 4 = sin solución
en fase 1según maxiter; 5 = sin solución en fase 2 según maxiter.
Tab: tabla final del algoritmo simplex

25
Capítulo 3

Modelo para planificación de plantillas

En este capítulo vamos a plantear un modelo general para la planificación de


plantillas aplicable a cualquier organización que se organice por turnos, o incluso por
plantas o áreas. Este modelo se podrá aplicar a problemas cuyo objetivo principal sea la
minimización de costes de personal en un período temporal determinado, aunque de
forma análoga podría plantearse como un problema de maximización de beneficios.

Los componentes en este modelo se denominan como se muestra a continuación,


sean:
1 = 𝑚𝑎ñ𝑎𝑛𝑎
𝑖 ∈ 𝐼 = {1,2,3}: 𝑡𝑢𝑟𝑛𝑜𝑠 𝑖 { 2 = 𝑡𝑎𝑟𝑑𝑒 }
3 = 𝑛𝑜𝑐ℎ𝑒
1 = 𝑙𝑎𝑏𝑜𝑟𝑎𝑏𝑙𝑒
𝑗
𝑗 ∈ 𝐽 = {1,2,3}: 𝑑í𝑎𝑠 { 2 = 𝑠á𝑏𝑎𝑑𝑜 }
3 = 𝑑𝑜𝑚𝑖𝑛𝑔𝑜

𝑍 = Coste global del personal de una categoría concreta para un período de tiempo
especificado.

𝑥𝑖𝑗 = Nº de trabajadores asignados al turno 𝑖 el día 𝑗.

𝑥̅𝑖𝑗 = Nº de trabajadores eventuales asignados al turno 𝑖 el día 𝑗.

𝑐𝑖𝑗 = Coste de cada trabajador asignado al turno 𝑖 el día 𝑗; incremento de 𝑍 por cada
unidad más de 𝑥𝑖𝑗 .

𝑐̅𝑖𝑗 = Coste de cada trabajador eventual asignado al turno 𝑖 el día 𝑗; incremento de 𝑍 por
cada unidad más de 𝑥̅𝑖𝑗 .

𝑛𝑖 = Cantidad total de trabajadores para el turno 𝑖.

𝑛𝑗 = Cantidad total de trabajadores para el día 𝑗.

26
𝑛𝑖𝑗 = Cantidad total de trabajadores para el turno 𝑖 del día 𝑗.

𝑏𝑖𝑗 = Cantidad de trabajadores ‘ordinarios’ del turno 𝑖 del día 𝑗.

𝑏̅𝑖𝑗 = Cantidad de trabajadores eventuales del turno 𝑖 del día 𝑗.

𝑁 = Cantidad disponible de trabajadores ‘ordinarios’.

̅ = Cantidad disponible de trabajadores eventuales.


𝑁

La función objetivo del modelo, 𝑍, será la suma de la multiplicación de cada


variable o tipo de trabajador con su coste, lo que significa que tratamos de minimizar

𝑍 = ∑ (𝑐𝑖𝑗 𝑥𝑖𝑗 + 𝑐̅𝑖𝑗 𝑥̅𝑖𝑗 )


𝑖∈𝐼,𝑗∈𝐽

Por otro lado, nos podemos encontrar con varios tipos de restricciones, que
mostramos continuación, sin ser necesaria la aparición de todas ellas, de forma que el
número máximo de restricciones que podemos construir es 𝑚 = 𝑛 + 𝑝 + 𝑘.

𝐴. ∑(𝑥𝑖𝑗 + 𝑥̅ 𝑖𝑗 ) ≤ 𝑛𝑖
𝑗∈𝐽

B. ∑(𝑥𝑖𝑗 + 𝑥̅𝑖𝑗 ) ≤ 𝑛𝑗
𝑖∈𝐼

C. ∑ (𝑥𝑖𝑗 + 𝑥̅𝑖𝑗 ) ≤ 𝑛𝑖𝑗


𝑖∈𝐼,𝑗∈𝐽

𝑥𝑖𝑗 ≥ 𝑏𝑖𝑗
𝑥̅𝑖𝑗 ≥ 𝑏̅𝑖𝑗

𝐷. ∑ 𝑥𝑖𝑗 ≤ 𝑁
𝑖∈𝐼,𝑗∈𝐽

̅
∑ 𝑥̅𝑖𝑗 ≤ 𝑁
𝑖∈𝐼,𝑗∈𝐽

- Con la restricción A establecemos el número mínimo de personal para el turno 𝑖.


- Con la restricción B definimos el número mínimo de trabajadores para el día 𝑗.
- Con las restricciones C determinamos el número mínimo total de trabajadores
para el turno 𝑖 del día 𝑗 con 𝑛𝑖𝑗 , y el número mínimo para los ‘ordinarios’ y
eventuales con 𝑏𝑖𝑗 y 𝑏̅𝑖𝑗 , respectivamente.

27
- Y con las restricciones D especificamos el número de trabajadores disponibles o
̅ para ‘ordinarios’ y eventuales, respectivamente.
máximo para cada tipo, 𝑁 y 𝑁
- Los valores de los parámetros 𝑛𝑖 , 𝑛𝑗 , 𝑛𝑖𝑗 , 𝑏𝑖𝑗 , 𝑏̅𝑖𝑗 , 𝑁 y 𝑁
̅ se calcularán en función

de aquellos factores que afecten a la asignación de personal de cada categoría y


organización. Estos factores pueden ser tanto legales como de productividad o la
propia capacidad del sistema, o cualquier otro factor que se deba tener en
consideración.
- Es usual encontrarse con restricciones redundantes, que acoten una variable en
distintas restricciones, por lo que podremos eliminar la que quede “pisada”.
- En caso de existir más turnos o días a diferenciar se podrían añadir al conjunto 𝐼
y 𝐽, al igual que omitir cualquiera de ellos, o añadir otro tipo de variable si fuera
necesario.

Por tanto, el modelo completo quedará de la siguiente forma, al añadirle las


restricciones de no negatividad de las variables que además son enteras y no divisibles:

𝑀𝑖𝑛. 𝑍 = ∑ (𝑐𝑖𝑗 𝑥𝑖𝑗 + 𝑐̅𝑖𝑗 𝑥̅𝑖𝑗 )


𝑖∈𝐼,𝑗∈𝐽

Sujeto a:

∑(𝑥𝑖𝑗 + 𝑥̅ 𝑖𝑗 ) ≤ 𝑛𝑖
𝑗∈𝐽

∑(𝑥𝑖𝑗 + 𝑥̅ 𝑖𝑗 ) ≤ 𝑛𝑗
𝑖∈𝐼

∑ (𝑥𝑖𝑗 + 𝑥̅𝑖𝑗 ) ≤ 𝑛𝑖𝑗


𝑖∈𝐼,𝑗∈𝐽

𝑥𝑖𝑗 ≥ 𝑏𝑖𝑗
𝑥̅𝑖𝑗 ≥ 𝑏̅𝑖𝑗

∑ 𝑥𝑖𝑗 ≤ 𝑁
𝑖∈𝐼,𝑗∈𝐽

̅
∑ 𝑥̅𝑖𝑗 ≤ 𝑁
𝑖∈𝐼,𝑗∈𝐽

28
Capítulo 4

Aplicación práctica

Para llevar el modelo anterior a la práctica en el caso del Centro Polivalente de


Servicios para Personas Mayores, lo haremos en dos etapas: construcción del modelo e
implementación en R.

1) Construcción del modelo, que la llevaremos a cabo en cuatro pasos:


Paso 1: Determinar las variables de decisión.
Paso 2: Obtener la función objetivo.
Paso 3: Definir las restricciones.
Paso 4: Resumen del modelo.
2) Implementación en R.

El objetivo principal de este problema es tratar de optimizar la plantilla de auxiliares


de clínica del Centro en cuestión en el entorno de R. Más específicamente, cuantificar el
número de auxiliares de clínica necesarios para el correcto funcionamiento de la
Residencia de Mayores de Melilla, cubriendo las necesidades y atenciones a sus
residentes, con la premisa de minimizar el coste en personal en períodos semanales.

Como objetivos específicos, tratamos de:

- Cuantificar el valor que optimiza la función objetivo del modelo.


- Determinar el número de auxiliares de clínica óptimo para los turnos de
mañana, tarde y noche.
- Uso del entorno R en programación lineal para la resolución del modelo.
- Extracción de conclusiones.

29
4.1. Construcción del modelo

4.1.1. Variables de decisión

Para determinar las variables de decisión debemos detallar el funcionamiento del


personal de esta categoría en el centro.

Para la asistencia a los residentes 24 horas, los OAES rotan en tres turnos al día
durante todos los días de la semana: un turno de mañana, desde las 08’00h a las 15’00 y
un turno de tarde, de 15’00h a 22’00h, con una duración de 7 horas cada uno, y un turno
de noche de 10 horas de duración desde las 22’00h a las 08’00h.

Pero además, el Centro tiene contratados a auxiliares eventuales que únicamente


trabajan fin de semanas, cuyas jornadas laborales transcurren sábados y domingos en
turnos de 9 horas: uno de mañana desde las 08’00h a las 17’00, y otro de tarde de 13’00h
a las 22’00h.

Por tanto, teniendo en cuenta los diferentes turnos de trabajo y tipos de auxiliares,
las variables de decisión las definimos como 𝑥𝑖 el número de auxiliares del turno tal que
𝑖 sea cada uno de los turnos de trabajo:

𝑥1 = 𝑥1 1 = 𝑛º 𝑂𝐴𝐸𝑆 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑚𝑎ñ𝑎𝑛𝑎 𝑒𝑛𝑡𝑟𝑒 𝑠𝑒𝑚𝑎𝑛𝑎


𝑥2 = 𝑥2 1 = 𝑛º 𝑂𝐴𝐸𝑆 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑡𝑎𝑟𝑑𝑒 𝑒𝑛𝑡𝑟𝑒 𝑠𝑒𝑚𝑎𝑛𝑎
𝑥3 = 𝑥3 1 = 𝑛º 𝑂𝐴𝐸𝑆 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑛𝑜𝑐ℎ𝑒 𝑒𝑛𝑡𝑟𝑒 𝑠𝑒𝑚𝑎𝑛𝑎
𝑥4 = 𝑥1 2 = 𝑛º 𝑂𝐴𝐸𝑆 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑚𝑎ñ𝑎𝑛𝑎 𝑒𝑙 𝑠á𝑏𝑎𝑑𝑜
𝑥5 = 𝑥2 2 = 𝑛º 𝑂𝐴𝐸𝑆 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑡𝑎𝑟𝑑𝑒 𝑒𝑙 𝑠á𝑏𝑎𝑑𝑜
𝑥6 = 𝑥3 2 = 𝑛º 𝑂𝐴𝐸𝑆 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑛𝑜𝑐ℎ𝑒 𝑒𝑙 𝑠á𝑏𝑎𝑑𝑜
𝑥7 = 𝑥1 3 = 𝑛º 𝑂𝐴𝐸𝑆 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑚𝑎ñ𝑎𝑛𝑎 𝑒𝑙 𝑑𝑜𝑚𝑖𝑛𝑔𝑜
𝑥8 = 𝑥2 3 = 𝑛º 𝑂𝐴𝐸𝑆 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑡𝑎𝑟𝑑𝑒 𝑒𝑙 𝑑𝑜𝑚𝑖𝑛𝑔𝑜
𝑥9 = 𝑥3 3 = 𝑛º 𝑂𝐴𝐸𝑆 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑛𝑜𝑐ℎ𝑒 𝑒𝑙 𝑑𝑜𝑚𝑖𝑛𝑔𝑜
𝑥̅1 = 𝑥̅1 2 = 𝑛º 𝑂𝐴𝐸𝑆 𝑑𝑒 𝑓𝑖𝑛 𝑑𝑒 𝑠𝑒𝑚𝑎𝑛𝑎 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑚𝑎ñ𝑎𝑛𝑎 𝑒𝑙 𝑠á𝑏𝑎𝑑𝑜
𝑥̅2 = 𝑥̅2 2 = 𝑛º 𝑂𝐴𝐸𝑆 𝑑𝑒 𝑓𝑖𝑛 𝑑𝑒 𝑠𝑒𝑚𝑎𝑛𝑎 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑡𝑎𝑟𝑑𝑒 𝑒𝑙 𝑠á𝑏𝑎𝑑𝑜
𝑥̅3 = 𝑥̅1 3 = 𝑛º 𝑂𝐴𝐸𝑆 𝑑𝑒 𝑓𝑖𝑛 𝑑𝑒 𝑠𝑒𝑚𝑎𝑛𝑎 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑚𝑎ñ𝑎𝑛𝑎 𝑒𝑙 𝑑𝑜𝑚𝑖𝑛𝑔𝑜
𝑥̅4 = 𝑥̅2 3 = 𝑛º 𝑂𝐴𝐸𝑆 𝑑𝑒 𝑓𝑖𝑛 𝑑𝑒 𝑠𝑒𝑚𝑎𝑛𝑎 𝑞𝑢𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑎𝑛 𝑒𝑛 𝑒𝑙 𝑡𝑢𝑟𝑛𝑜 𝑑𝑒 𝑡𝑎𝑟𝑑𝑒 𝑒𝑙 𝑑𝑜𝑚𝑖𝑛𝑔𝑜

30
4.1.2. Función objetivo

Una vez definidas las variables de decisión, procedemos a la formulación de la


función objetivo.

Nuestro problema se plantea como un modelo de minimización de costes, para el


cual tratamos de calcular el número óptimo de auxiliares semanal que cumplan con esta
premisa.

Así pues, para conocer el coste de la plantilla, debemos consultar el Convenio


Colectivo correspondiente. Al no disponer de uno propio y tratarse de una entidad pública,
analizamos la estructura del salario y las retribuciones del III Convenio Único Personal
de la Administración General (AGE) del Estado del 12 de noviembre de 2009,
actualizadas al año 2016.3

El salario base anual para los OAES, quienes poseen una titulación de Técnico
Auxiliar y, por tanto, pertenecen al grupo 4 en la clasificación profesional establecida en
el Convenio, es de 14.623,70 euros dividido en catorce pagas. A esta cantidad debemos
añadirle los complementos salariales correspondientes dadas las condiciones laborales del
puesto, que serían los siguientes:

- El complemento de turnicidad, que se retribuye a todos los auxiliares, es de


1.573,56 euros al año para aquellos que trabajen de lunes a sábado, y de 2.182,92
euros al año por trabajar domingos y festivos.
- El complemento de nocturnidad que, como su propio nombre indica, se aplica al
personal que trabaje en turnos de noche y cuya cuantía es de 1.764,36 euros
anuales para días laborables y de 2.754,96 euros anuales en domingos y festivos.
- El complemento de prolongación de jornada, que en nuestro caso solo queda
aplicado a los auxiliares de fin de semana cuyas jornadas de trabajo son de nueve
horas en vez de siete y a los auxiliares del turno de noche, quienes realizan
jornadas de diez horas. La cuantía de este complemento es de 760,20 euros al año.

3
Véase los datos destacados en los anexos IIB,D y III, donde se explica a qué grupo pertenece esta
categoría profesional dadas las condiciones laborales y se señalan las cuantías destinadas a su retribución
salarial.

31
Habiendo determinado las cuantías retribuidas por la AGE para este colectivo, a
continuación procedemos al cálculo del coste semanal para los auxiliares de cada una de
las variables de decisión 𝑥𝑖 , lo que correspondería al valor del coeficiente 𝑐𝑖 de la función
objetivo.

1) Coste de 𝑥1 , 𝑥2 , 𝑥4 y 𝑥5 : OAES de los turnos de mañana y tarde, respectivamente,


que trabajan de lunes a sábado.

A estos auxiliares se les aplica, a su salario base, únicamente el complemento de


turnicidad para días laborables, de manera que el coste semanal será de:

𝐵𝑎𝑠𝑒 + 𝑇𝑢𝑟𝑛. 14.623,70 + 1.573,56


= = 𝟑𝟖, 𝟓𝟔 €/𝒅í𝒂
14 𝑝𝑎𝑔𝑎𝑠 × 30 𝑑í𝑎𝑠 14 × 30

𝑐𝑖 = 38,56 × 5 𝑑í𝑎𝑠 = 𝟏𝟗𝟐, 𝟖𝟐 €/𝒔𝒆𝒎𝒂𝒏𝒂, 𝒊 = 𝟏, 𝟐


𝑐𝑖 = 𝟑𝟖, 𝟓𝟔 €/𝒔𝒆𝒎𝒂𝒏𝒂, 𝒊 = 𝟒, 𝟓

2) Coste de 𝑥3 y 𝑥6 : OAES del turno de noche de lunes a sábado.

A este tipo se le añaden los complementos de nocturnidad y prolongación de


jornada para días laborables (ya que no se pueden aplicar al mismo tiempo
turnicidad y nocturnidad), de modo que el coste semanal queda:

𝐵𝑎𝑠𝑒 + 𝑁𝑜𝑐𝑡. +𝑃. 𝐿. 14.623,70 + 1.764,36 + 760,20


= = 𝟒𝟎, 𝟖𝟑 €/𝒅í𝒂
14 𝑝𝑎𝑔𝑎𝑠 × 30 𝑑í𝑎𝑠 14 × 30

𝒄𝟑 = 40,83 × 5 𝑑í𝑎𝑠 = 𝟐𝟎𝟒, 𝟏𝟓 €/𝒔𝒆𝒎𝒂𝒏𝒂


𝒄𝟔 = 𝟒𝟎, 𝟖𝟑 €/𝒔𝒆𝒎𝒂𝒏𝒂

3) Coste de 𝑥7 y 𝑥8 : OAES del turno de mañana y de tarde, respectivamente, del


domingo.

A este colectivo se le añade el complemento de turnicidad* para domingos y


festivos. El coste semanal será:

𝐵𝑎𝑠𝑒 + 𝑇𝑢𝑟𝑛.∗ 14.623,70 + 2.182,92


𝑐𝑖 = = = 𝟒𝟎, 𝟎𝟐 €/𝒔𝒆𝒎𝒂𝒏𝒂, 𝒊 = 𝟕, 𝟖
14 𝑝𝑎𝑔𝑎𝑠 × 30 𝑑í𝑎𝑠 14 × 30

32
4) Coste de 𝑥9 : OAES del turno de noche del domingo.

Para este coste sumamos los complementos de nocturnidad* en domingos y festivos


y de prolongación de jornada, obteniendo:

𝐵𝑎𝑠𝑒 + 𝑁𝑜𝑐𝑡.∗ + 𝑃. 𝐽. 14.623,70 + 2,754,96 + 760,20


𝒄𝟗 = = = 𝟒𝟑, 𝟏𝟗 €/𝒔𝒆𝒎𝒂𝒏𝒂
14 𝑝𝑎𝑔𝑎𝑠 × 30 𝑑í𝑎𝑠 14 × 30

5) Coste de 𝑥̅1 y 𝑥̅2 : OAES de fin de semana del turno de mañana y tarde del sábado,
respectivamente.

Estos auxiliares, a diferencia del resto y como dijimos anteriormente, tiene jornadas
más largas, por lo que su coste semanal será el resultando de añadir los
complementos de turnicidad para días laborables y el de prolongación de jornada.

𝐵𝑎𝑠𝑒 + 𝑇𝑢𝑟𝑛. +𝑃. 𝐿. 14.623,70 + 1.573,56 + 760,20


𝒄𝒊 = = = 𝟒𝟎, 𝟑𝟕€/𝒔𝒆𝒎. , 𝒊 = 𝟏𝟎, 𝟏𝟏
14 𝑝𝑎𝑔𝑎𝑠 × 30 𝑑í𝑎𝑠 14 × 30

6) Coste de 𝑥̅3 y 𝑥̅4 : OAES de fin de semana del turno de mañana y de tarde del
domingo, respectivamente.

El coste semanal de estos auxiliares lo calculamos añadiendo los complementos de


turnicidad* para domingos y festivos y el de prolongación de jornada.

𝐵𝑎𝑠𝑒 + 𝑇𝑢𝑟𝑛.∗ + 𝑃. 𝐿. 14.623,70 + 2.182,92 + 760,20


𝒄𝒊 = = = 𝟒𝟏, 𝟖𝟑€/𝒔𝒆𝒎. , 𝒊 = 𝟏𝟐, 𝟏𝟑
14 𝑝𝑎𝑔𝑎𝑠 × 30 𝑑í𝑎𝑠 14 × 30

4.1.3. Restricciones

En nuestro problema nos encontramos limitados por el número de profesionales


necesarios para el cuidado óptimo del número de residentes del Centro en el momento de
estudio según el grado de dependencia de los mismos.

Para ello acudiremos al documento publicado en el BOE por el Ministerio de


Sanidad y Política Social del 30 de agosto del 2010 (núm. 210), sobre personas en
situación de dependencia en Ceuta y Melilla (Anexo IVB). En este nos encontramos con
dos ratios mínimos, el global y el específico para la categoría profesional de cuidador/a,
gerocultor/a o similar para los grados de dependencia II y III de los que, con la totalidad
de residentes y usuarios del Centro, obtendríamos:

33
a) En primer lugar, debemos diferenciar los residentes permanentes o temporales
de los usuarios del Centro de Día, a los que se aplican ratios diferentes.
a. Actualmente la residencia cuenta con un total de 130 residentes, 123
permanentes y 7 temporales. Al aplicar el ratio global 0,47 (aprox. 1 OAES
cada 2 pacientes) para residentes con grado III de dependencia, dado que a
día de hoy el 98% de los usuarios son grandes dependientes, obtenemos un
total de 61,1 ≈ 62 trabajadores (redondeamos al alza debido a que las
personas son unidades enteras indivisibles).
b. Para el Centro de Día, el cual cuenta con 13 usuarios, con un ratio de 0,23
para grado II de dependencia, serían necesarios un total de 3 personas.

b) En cuanto al ratio para la categoría de gerocultor, igualmente debemos


diferenciar entre residentes y usuarios del Centro de Día:
a. Para el cuidado de residentes, considerados de grado III de dependencia,
escogemos el ratio 0,28 (aprox. 1 cada 4) con el que, para los 130 residentes,
concluimos que se necesitarían 36,4 ≈ 37 personas (igual que en a) a.).
b. Para la atención en el Centro de Día, con el ratio 0,14 para un grado II de
dependencia y los 13 usuarios actuales, deberían tener a 1,82 ≈ 2 personas.

Tras estos cálculos, podemos deducir que el personal mínimo necesario para
atender a los residentes y usuarios durante el día es de 39 auxiliares cuando esté operativo
el Centro de Día, siendo así de lunes a viernes, y de 37 auxiliares en caso contrario.

En cambio, en los turnos de noche, la Residencia tiene establecido un mínimo de 2


trabajadores por planta, de manera que, al estar compuesta por 3 plantas, serán necesarios
al menos un total de 6 auxiliares.

Todo esto lo podemos traducir a las restricciones para la construcción de nuestro


modelo:

o La necesidad de tener al menos en mañanas y tardes a 39 auxiliares cuando esté en


funcionamiento, de lunes a viernes, el Centro de Día para poder atender a sus 13
usuarios y los 130 residentes, significa que:

𝑥1 ≥ 39
𝑥2 ≥ 39

34
o Las restricciones que representan los 6 auxiliares necesarios en los turnos de noche
son:
𝑥3 ≥ 6
𝑥6 ≥ 6
𝑥9 ≥ 6

o Para los turnos de mañana y tarde de los fines de semana, cuando no opera el Centro
de Día, se necesitan 2 auxiliares menos. Además, hay que tener en cuenta la
disponibilidad esos días de los auxiliares de fin de semana y el horario prolongado de
los mismos.

Para el turno de mañana de sábado y domingo se necesitan 37 auxiliares contando con


los de fin de semana:

𝑥4 + 𝑥̅1 ≥ 37
𝑥7 + 𝑥̅3 ≥ 37

Al igual ocurre con el turno de tarde, pero existe la coincidencia de horarios del
auxiliar de fin de semana del turno de mañana (de 08’00h a 17’00h) con el del turno
de tarde (de 13’00h a 22’00h):

𝑥4 + 𝑥̅1 + 𝑥̅2 ≥ 37
𝑥̅1 + 𝑥̅2 + 𝑥5 ≥ 37
𝑥̅2 + 𝑥5 ≥ 37
𝑥7 + 𝑥̅3 + 𝑥̅4 ≥ 37
𝑥̅3 + 𝑥̅4 + 𝑥8 ≥ 37
𝑥̅4 + 𝑥8 ≥ 37

Además de estar restringidos por los ratios profesionales, también estaríamos


limitados por la plantilla actual del centro. Como ya dijimos, este cuenta con 86 auxiliares
de clínica, de modo que, al rotar en turnos tres veces al día, surgen las siguientes
restricciones:

𝑥1 + 𝑥2 + 𝑥3 ≤ 86
𝑥4 + 𝑥5 + 𝑥6 ≤ 86
𝑥7 + 𝑥8 + 𝑥9 ≤ 86

Sin olvidar los auxiliares de fin de semana contratados, que tienen solo dos y debe haber al
menos uno por turno:

35
𝑥̅1 + 𝑥̅2 ≤ 2
𝑥̅3 + 𝑥̅4 ≤ 2
𝑥̅1 ≥ 1
𝑥̅2 ≥ 1
𝑥̅3 ≥ 1
𝑥̅4 ≥ 1
Para finalizar con las restricciones, añadimos la de no negatividad de las variables:
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 𝑥5 , 𝑥6 , 𝑥7 , 𝑥8 , 𝑥9 , 𝑥̅1 , 𝑥̅2 , 𝑥̅3 , 𝑥̅4 ≥ 0

4.1.4. Modelo

𝑀𝑖𝑛 192,82𝑥1 + 192,82𝑥2 + 204,15𝑥3 + 38,56𝑥4 + 38,56𝑥5 + 40,83𝑥6 + 40,02𝑥7 + 40,08𝑥8


+ 43,19𝑥9 + 40,37𝑥̅1 + 40,37𝑥̅2 + 41,83𝑥̅3 + 41,83𝑥̅4
𝑠. 𝑎. 𝑥1 ≥ 39
𝑥2 ≥ 39
𝑥3 ≥ 6
𝑥4 + 𝑥̅1 ≥ 37
𝑥4 + 𝑥̅1 + 𝑥̅2 ≥ 37
𝑥̅1 + 𝑥̅2 + 𝑥5 ≥ 37
𝑥̅2 + 𝑥5 ≥ 37
𝑥6 ≥ 6
𝑥7 , +𝑥̅3 ≥ 37
𝑥7 + 𝑥̅3 + 𝑥̅4 ≥ 37
𝑥̅3 + 𝑥̅4 + 𝑥8 ≥ 37
𝑥̅4 + 𝑥8 ≥ 37
𝑥9 ≥ 6
𝑥1 + 𝑥2 + 𝑥3 ≤ 86
𝑥4 + 𝑥5 + 𝑥6 ≤ 86
𝑥7 + 𝑥8 + 𝑥9 ≤ 86
𝑥̅1 + 𝑥̅2 ≤ 2
𝑥̅3 + 𝑥̅4 ≤ 2
𝑥̅1 ≥ 1
𝑥̅2 ≥ 1
𝑥̅3 ≥ 1
𝑥̅4 ≥ 1
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 𝑥5 , 𝑥6 , 𝑥7 , 𝑥8 , 𝑥9 , 𝑥̅1 , 𝑥̅2 , 𝑥̅3 , 𝑥̅4 ≥ 0

36
4.2. Implementación en R

Para la implementación del modelo en R y ejecutar las funciones de optimización,


debemos representar los datos del modelo mediante matrices y vectores.

La función lp de lpSolver necesita una matriz formada por los coeficientes de las
variables en las restricciones, 𝑎𝑖𝑗 , que llamaremos const.coef, y unos vectores para los
coeficientes de la función objetivo 𝑐𝑖 , obj.coef, la direcciones de las restricciones,
strings, y los valores 𝑏𝑚 , b.coef. Estos mismos elementos los utilizaremos para la
función solveLP de linprog.

Comenzamos el trabajo en R cargando los paquetes que vamos a emplear

y a continuación iremos creando los conjuntos de valores. En primer lugar tenemos el


vector de 𝑐𝑖 denominado obj.coef,

seguido de la matriz const.coef con los coeficientes de la restricciones, con tantas filas
como número de restricciones y columnas como número de variables del modelo.

37
Y por último el vector strings para las desigualdades de las restricciones y b.coef
para los valores 𝑏 de las mismas

para poder ejecutar lp y así poder ver si el modelo resulta válido o no.

La respuesta de R nos indica que el modelo se ha podido resolver con éxito


obteniendo un valor mínimo para la función objetivo de 22.593,3 euros a la semana.
Además, con lpsolve$solution mostramos los valores óptimos de las variables de
decisión.

Si utilizamos estos mismos elementos con la función solveLP para, como


explicamos en el apartado 2.2.1, obtener un resultado más detallado del proceso, vemos
como sí que se ha “resuelto” el modelo y R nos proporciona el valor de la función objetivo
y las variables, pero no cumple con todas las restricciones del modelo ya que para 𝑥10 y
𝑥12 nos da valor 0; es decir, concluye como un problema no factible.

38
A continuación, del mismo modo que hemos hecho con el modelo completo, vamos
a proceder a la resolución del modelo con ciertas restricciones omitidas para así obtener
información adicional sobre la conveniencia o no de preservar los auxiliares de fin de
semana o sobre qué ocurre cuando no acotamos las variables.

Si eliminamos las restricciones que representan el número actual de auxiliares de


clínica “normales” y de fin de semana contratados podríamos interpretar si esta limitación
afecta al número de OAES de fines de semana asignados. Para ello construimos de nuevos
los elementos const.coef, strings y b.coef con las modificaciones y los incluimos
en las órdenes lp y solveLP:

Aun habiendo suprimido la cota superior, se sigue manteniendo el mismo número


de auxiliares de ambos tipos y el mismo coste mínimo. Este mismo resultado relejó
solveLP, con el que, además, obtenemos información sobre el proceso como las
variables básicas, el total de variables empleadas (de holgura y exceso) o número de
iteraciones por fase, tal y como vemos a continuación:

39
40
41
Si eliminamos las restricciones que representan la obligatoriedad de tener al menos
un auxiliar de clínica de fin de semana en cada turno podremos interpretar si, según el
modelo, es conveniente mantenerlos en plantilla o utilizar solo a auxiliares de turno
ordinario. Cambiamos los vectores y matriz que representan el modelo y resolvemos:

Efectivamente vemos como el modelo, sin el mínimo exigido de al menos un


auxiliar de fin de semana, los elimina del modelo reduciendo el coste mínimo a 22.586,12
euros. Sin embargo, para tomar esta decisión habría que tener más variables en cuenta
como veremos en las conclusiones del siguiente apartado.

A este mismo resultado llegamos con solveLP, tal y como vemos a continuación
con un proceso distinto:

42
43
44
Capítulo 5

Conclusiones

En este trabajo se ha introducido, por primera vez, un modelo de programación


lineal para el dimensionamiento de plantillas aplicable a cualquier sistema cuya plantilla
se organice por turnos y disponga de distinto tipo de personal dentro de una misma
categoría, cuya adecuación y utilidad se demuestra con la aportación práctica llevada a
cabo en el capítulo 4 para el caso de la Residencia de Mayores de Melilla.

En este estudio hemos obtenido que la asignación óptima de auxiliares de clínica


para la Residencia de Mayores es de 39 trabajadores en los turnos de mañana, 39
auxiliares para el turno de tarde y 6 para la noche de lunes a viernes cuando opere el
Centro de Día, y de 37 auxiliares para los turnos de mañana, 37 para el turno de tarde y
de nuevo 6 de noche para sábados y domingos, además de 1 auxiliar de clínica de fin de
semana en cada turno.

Sin embargo, en el análisis solo hemos estudiado si disponen del personal necesario
para lo cuidados diarios, sin tener en cuenta la rotación de la plantilla. Si al día se
necesitan un total de 84 OAES (39 de mañana, 39 de tarde y 6 de noche) y el Centro tiene
contratados a 86, ¿quién rotará cuando acaben su turno semanal o los días de descanso?
La respuesta es que no tienen personal suficiente para ello dadas las características de
jornadas de un máximo de 40 horas semanales estipuladas en el art. 37 del III Convenio
de la AGE4. La realidad de la Residencia de Mayores es que, hasta el momento de estudio,
disponen de unos 9 o 10 auxiliares por planta en cada turno diurno (unos 36 al día), en
los que se incluyen los trabajadores de Planes de Empleo que la Delegación del Gobierno
de Melilla contrata durante 6 meses como apoyo a la plantilla regular del centro.

4
El máximo de días que pueden trabajar los OAES a la semana es cinco con unos turnos normales de
siete horas diarias.

45
Por tanto, aunque el modelo haya resultado favorable, concluimos que existen
evidencias sobre la imperiosa necesidad de ampliar la plantilla de auxiliares de clínica de
la Residencia de Mayores, si la situación lo permitiera, para, por un lado, cumplir con el
mínimo exigido y así poder ofrecer el mejor servicio a los residentes actuales, y por otro
lado, poder aumentar la ocupación del centro y darle utilidad a la totalidad de plazas
disponibles en las instalaciones permitiendo que la población anciana de la ciudad tenga
mayor acceso a recibir los cuidados que tantos de ellos necesitan y no tienen posibilidad
de recibir hoy en día al no existir más centros de este tipo en Melilla. Los gestores del
Centro se encuentran en una situación complicada para la gestión de sus recursos
humanos dadas las restricciones impuestas ante las políticas de austeridad derivadas de la
crisis económica que ha atravesado el país estos últimos años.

En cuanto a los modelos adicionales planteados con la omisión de los auxiliares


eventuales, cabe mencionar que, a pesar de que el modelo los suprima, sea necesario su
mantenimiento como vía de escape para dar descanso al personal que trabaja el resto de
la semana y reducir el problema de las rotaciones, o tal vez resulte más conveniente
económicamente la realización contratos eventuales a media jornada que a jornada
completa.

Con respecto a la aplicación del modelo, podemos concluir que el empleo de la


programación lineal en general y el método simplex en particular en la planificación de
plantillas es la mejor opción dadas las características de su modelado, en el que se plantea
un objetivo concreto que está limitado y restringido por unos factores, tal cual ocurre, por
ejemplo, en el problema del Centro Polivalente de Servicios para Personas Mayores..

5.1. Futuras líneas de investigación

Tras la realización de este trabajo y la presentación de este nuevo modelo para la


planificación de plantillas, surgen unas futuras posibles líneas de investigación como:
 La aplicación de este modelo a otros casos reales, ya sea una entidad de ámbito
privado o público.
 Creación de una función específica en R con este modelo.
 Ampliar la investigación realizada en la Residencia de Mayores de Melilla
realizando una investigación complementaria y comparación con un centro
similar en otro territorio de ámbito local, autonómico o nacional.

46
Bibliografía
[1] Barranco, F.J. (1993). Planificación estratégica de Recursos Humanos: del marketing
interno a la planificación. Madrid: Pirámide.
[2] Dolan, S., Valle Cabrera, R., Jackson, S. y Schuler, R. (2003). La gestión de los
recursos humanos: preparando profesionales para el siglo XXI. 2ª ed. Madrid:
McGraw-Hill
[3] Duane, M. J. (1996). Customized human resource planning: Different practices for
different organizations. Quorum Books.
[4] Heizer, J. y Render, B. (2007). Dirección de la producción y de las operaciones:
decisiones estratégicas. Traducido del inglés por Moreno López, Y. 8ª ed. Madrid:
Pearson.
[5] Hillier, F., Lieberman, G. and Murrieta Murrieta, J. (2010). Introducción a la
investigación de operaciones. México, D.F.: McGraw-Hill. 9ª edición
[6] López Ruiz, F. (2006). Investigacion operativa. San Sebastián: Universidad del Paiś
Vasco, Servicio Editorial.
[7] McBeath, G., y McBeath. (1992). The handbook of human resource planning.
Blackwell.
[8] Prawda Witenberg, J. (2004). Métodos y modelos de investigación de operaciones. I,
Modelos determinísticos. México: Limusa (pag.20)
[9] Sierra Plana, J. (1980). Métodos de investigación operativa en la práctica de las
empresas. Bilbao: Edic. Deusto.
[10] Taha, H. and González Pozo, V. (2004). Investigación de operaciones. México:
Pearson Educación.
[11] Valero Matas, J.A. (2010). Casos prácticos de recursos humanos y relaciones
laborales. Madrid: Pirámide.
[12] Agencia Estatal Boletín Oficial del Estado. Recuperado de https://www.boe.es/
[13] Berrendero Díaz, J.R. (28 de marzo de 2015). Programación lineal con R [Mensaje
de blog]. Recuperado de: https://caminosaleatorios.wordpress.com
[14] Cuaquera, J.A. (18 de diciembre de 2008). Etapas del proeso de planificación
[Mensaje de blog]. Recuperado de
http://alfredoj111.blogspot.com.es/2008/12/etapas-del-proceso-de-planificacin.html
[15] Gómez Alemany, I. (2014). Programación Lineal en la planificación de plantillas
mediante TIC’s. Trabajo Fin de Grado. Recuperado del repositorio de la UGR.
[16] Hill, B. La importancia de la planificación de una organización. La voz de Houston.
Recuperado de http://pyme.lavoztx.com/la-importancia-de-la-planificacin-en-una-
organizacin-4332.html

47
[17] Izquierdo Granja, D. y Ruiz Ruiz, J.J. (2006-2016). PHPSimplex. Recuperado de
http://www.phpsimplex.com/
[18] Josa Fombellida, R. (2003). La Investigación Operativa. Recuperado el 24 de agosto
de 2016, del Sitio web del Departamento de Estadísticas e Investigación Operativa
de la Universidad de Valladolid: http://www.eio.uva.es/~ricardo/io/introio.pdf
[19] Salazar López, B. (2012). Método simplex. Ingeniería Industrial Online.
Recuperado de http://www.ingenieriaindustrialonline.com/herramientas-para-el-
ingeniero-industrial/investigaci%C3%B3n-de-operaciones/m%C3%A9todo-
simplex/
[20] Secretaría de Estado de Presupuestos y Gastos (2016). Retribuciones del personal
laboral del Convenio Único. Recuperado de
http://www.sepg.pap.minhap.gob.es/sitios/sepg/es-
ES/CostesPersonal/EstadisticasInformes/Paginas/RetribucionesPersonalLaboral.asp
x
[21] Vélaz, I. (25 de febrero de 2013). Técnicas de Investigación Operativa [Mensaje de
blog]. Assentire. Recuperado de https://s3a2.me/2013/02/25/tecnicas-de-
investigacion-operativa/
(2015). Método Simplex. Programación Lineal.net. Recuperado de
http://www.programacionlineal.net/simplex.html

48
Anexos
Anexo I

Carta de servicios 2011-2014 del Centro Polivalente de Servicios para Personas Mayores
de Melilla del IMSERSO, proporcionada por el propio centro.

49
Anexo II

III Convenio Único para el personal laboral de la Administración General del Estado,
publicado en el BOE núm. 273 el 12 de noviembre de 2009 (recuperado de
http://www.boe.es/boe/dias/2009/11/12/pdfs/BOE-A-2009-18065.pdf).

Anexo IIA: Presentación

Anexo IIB: Art. 16. Grupos Profesionales. Grupo 4.

50
Anexo IIC: Art. 37. Jornada

Anexo IID: Art. 73. Otras retribuciones de carácter personal y complementos salariales.

51
52
Anexo III

Retribuciones básicas y complementarias del III Convenio Único para el personal laboral
de la Administración General del Estado, actualizadas al año 2016 (recuperado de
http://www.sepg.pap.minhap.gob.es/sitios/sepg/es-
ES/CostesPersonal/EstadisticasInformes/Paginas/RetribucionesPersonalLaboral.aspx)

53
Anexo IV

Orden SAS/2287/2010 por la que se regulan los requisitos y el procedimiento para la


acreditación de los centros, servicios y entidades privadas, concertadas o no, que actúen
en el ámbito de la autonomía personal y la atención a personas en situación de
dependencia en las ciudades de Ceuta y Melilla. Publicada en el BOE núm. 210 el 30 de
agosto de 2010 (recuperado de http://www.boe.es/boe/dias/2010/08/30/pdfs/BOE-A-
2010-13541.pdf)

Anexo IVA: Presentación.

Anexo IVB: Art. 6. Requisitos específicos de los Centros Residenciales y de los Centros
de Día y de Noche.

54

También podría gustarte