Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2223Q1 PAC4 Enu Esp
2223Q1 PAC4 Enu Esp
Presentación
¿Existe alguna manera de colocar 8 reinas en un tablero de ajedrez sin que se amenacen entre ellas?
¿Cómo lo hace Amazon para llevar un producto hasta nuestra casa, desde la otra punta del mundo
en menos de una semana? ¿Cuál es la estrategia de inversión en bolsa que nos permite maximizar
los beneficios o reducir los riesgos?
Estas preguntas tienen en común que las organizaciones y personas que se las plantean utilizan
herramientas de programación lineal que les ayudan a tomar decisiones. Ası́, el objetivo de este
reto es conocer y aprender a utilizar herramientas que permitan resolver problemas de decisión, y
especı́ficamente de programación lineal y de programación lineal entera y mixta. En concreto, este
reto tiene una vertiente más teórica, para aprender algunas técnicas de resolución de programas
lineales, y una vertiente más práctica, para utilizar herramientas informáticas que sistematicen el
proceso de resolución.
Competencias
En esta práctica se trabajan las siguientes competencias del Grado en Ciencia de Datos Aplicada:
Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para
emprender estudios posteriores con un alto grado de autonomı́a.
Utilizar de forma combinada los fundamentos matemáticos, estadı́sticos y de programación
para desarrollar soluciones a problemas en el ámbito de la ciencia de los datos.
Resumir, interpretar, presentar y contrastar de forma crı́tica los resultados obtenidos utili-
zando las herramientas de análisis y visualización más adecuadas.
Objetivos
Conocer las fases y la terminologı́a básica relacionada con los algoritmos Sı́mplex y Ramifi-
cación y Acotamiento.
1
22.506 · Modelaje y Optimitzación · PEC4
2022-23-Sem.1 · Grado en Ciencia de Datos Aplicada
Estudios de Informática, Multimedia y Telecomunicación
Saber utilizar manualmente y con R el algoritmo Sı́mplex para resolver problemas de pro-
gramación lineal.
Saber utilizar manualmente y con R el algoritmo Ramificación y Acotamiento para resolver
problemas de programación lineal entera y mixta.
Ser capaz de interpretar las soluciones obtenidas con la aplicación de los algoritmos.
En esta actividad aprenderemos la teorı́a y la práctica de diferentes técnicas para resolver modelos
de optimización, manualmente y con herramientas informáticas. En concreto, deberemos:
Recursos
Recursos Básicos
Documento ”Guı́a de estudio de optimización lineal”.
Referencia ”Hillier Lieberman (2015) Introduction to operations research, McGraw-Hill”.
2
22.506 · Modelaje y Optimitzación · PEC4
2022-23-Sem.1 · Grado en Ciencia de Datos Aplicada
Estudios de Informática, Multimedia y Telecomunicación
Recursos Complementarios
Documento ”Hands-On Programming with R”
Curso ”Introduction to R”
Curso ”Intermediate R”
Criterios de valoración
La práctica se debe resolver de manera individual.
Para los ejercicios 1 y 2 es necesario justicar los resultados de los cuestionarios.
Para los ejercicios 3, 4 y 5 es necesario incluir explicaciones en los códigos desarrollados.
Tened en cuenta que esta actividad representa un 25 % sobre el total de la nota de las PEC. Para
más información sobre el modelo de evaluación de la asignatura, consultad el plan docente.
Hace falta entregar un único fichero *.zip que incluya: (1) un documento pdf con la justificación
del ejercicio 1 (además de responder el cuestionario a través del campus virtual) y (2) una carpeta
con los códigos pedidos en los ejercicios 2, 3 y 4. Hay que realizar la PEC con un procesador de
textos o RMarkdown y no se aceptarán soluciones a mano y escaneadas.
El nombre del fichero final debe ser PEC4Apellido1Apellido2Nombre.zip. Este documento se debe
entregar en el espacio de Entrega y Registro AC del aula antes de las 23:59 del dı́a 09/01/2023
(esta fecha lı́mite también es válida para los cuestionarios). Recordad que la PEC es individual.
La detección de falta de originalidad será penalizada de acuerdo con la normativa vigente de la
UOC. Además, al hacer la entrega, aseguraos de comprobar que el archivo colgado es el correcto;
pues es responsabilidad del alumnado hacer la entrega correctamente. No se aceptaran entregas
fuera de plazo.
3
22.506 · Modelaje y Optimitzación · PEC4
2022-23-Sem.1 · Grado en Ciencia de Datos Aplicada
Estudios de Informática, Multimedia y Telecomunicación
Este ejercicio consiste en resolver un cuestionario (al que se accede a través del campus vir-
tual). La nota se basará en las respuestas marcadas, pero no se considerará ninguna respuesta
que no esté debidamente justificada en el documento pdf entregado a través del RAC.
El cuestionario permite realizar 2 intentos, de forma que si alguien tiene una incidencia,
la pueda rectificar. A efectos de la nota, únicamente se considerará el intento con mayor
puntuación.
Estos ejercicios consisten en desarrollar códigos informáticos con R. Es necesario entregar los
3 códigos en ficheros separados.
Para la evaluación de estos ejercicios, se valorará que los programas desarrollados incluyan
comentarios explicativos de los pasos realizados. Asimismo, los programas se ejecutarán tal
cual se entreguen y, si no funcionan, se penalizará en la nota de los ejercicios.
1. [3.5p] Accede al espacio Cuestionarios (Moodle) del campus virtual y resuelve el cuestionario
titulado ”PEC4. Ejercicio 1”. Justifica tus respuestas en el fichero pdf entregado.
3. [1.5p] Resuelve un modelo de programación lineal entera inventado por ti mismo/a, utilizando
el complemento Rglpk de R. Encontrarás un manual de Rglpk al final de este documento. El
modelo propuesto debe tener, al menos, 5 variables (combinando variables enteras y binarias)
y 3 restricciones.
4
22.506 · Modelaje y Optimitzación · PEC4
2022-23-Sem.1 · Grado en Ciencia de Datos Aplicada
Estudios de Informática, Multimedia y Telecomunicación
Función objetivo:
Se maximiza el valor de los objetos cargados en la mochila:
N
X
maximize V i · xi
i=1
Restricciones:
El peso de los objetos cargados no supera la capacidad de la mochila:
N
X
Pi · x i ≤ K
i=1
Para un ejemplo con N = 10 objetos, proponer unos valores cualesquiera para los datos
K; Pi ; Vi . Con dichos valores, se pide:
Desarrollar un algoritmo que pruebe todas las combinaciones posibles de objetos a
introducir dentro de la mochila y devuelva la mejor combinación. En el desarrollo de
este algoritmo, no se pueden utilizar librerı́as de R.
Comparar el resultado anterior con la resolución del modelo utilizando la librerı́a Rglpk
y comparad los tiempos de cálculo.
5
22.506 · Modelaje y Optimitzación · PEC4
2022-23-Sem.1 · Grado en Ciencia de Datos Aplicada
Estudios de Informática, Multimedia y Telecomunicación
maximize x1 + x2
2x1 + x2 ≤ 9, 5
x2 ≤ 4
x1 ; x2 ≥ 0
6
22.506 · Modelaje y Optimitzación · PEC4
2022-23-Sem.1 · Grado en Ciencia de Datos Aplicada
Estudios de Informática, Multimedia y Telecomunicación
10 x2 4.00
11
12 Basic Variables
13 opt
14 x1 2.75
15 x2 4.00
16
17 Constraints
18 actual dir bvec free dual dual . reg
19 1 9.5 <= 9.5 0 0.5 5.5
20 2 4.0 <= 4.0 0 0.5 4.0
21
22 All Variables ( including slack variables )
23 opt cvec min . c max . c marg marg . reg
24 x1 2.75 1 0.0 2.0 NA NA
25 x2 4.00 1 0.5 Inf NA NA
26 S 1 0.00 0 - Inf 0.5 -0.5 5.5
27 S 2 0.00 0 - Inf 0.5 -0.5 4.0
Como se puede observar, el paquete retorna mucha información del modelo. Veámoslo lı́nea por
lı́nea:
7
22.506 · Modelaje y Optimitzación · PEC4
2022-23-Sem.1 · Grado en Ciencia de Datos Aplicada
Estudios de Informática, Multimedia y Telecomunicación
8
22.506 · Modelaje y Optimitzación · PEC4
2022-23-Sem.1 · Grado en Ciencia de Datos Aplicada
Estudios de Informática, Multimedia y Telecomunicación
10 $ solution _ dual
11 [1] 0 0
12
13 $ auxiliary
14 $ auxiliary $ primal
15 [1] 9 3
16
17 $ auxiliary $ dual
18 [1] NA
19
20 $ sensitivity _ report
21 [1] NA
Como se puede observar, el paquete devuelve mucha información del modelo. Veámosla lı́nea por
lı́nea: