This commit is contained in:
counterweight 2023-12-09 18:05:57 +01:00
parent a67287eeb7
commit ee8dd41f85
129 changed files with 91712 additions and 0 deletions

View file

@ -0,0 +1,115 @@
- On 16/11/22, there is going to be an "Electives Day" where we will present our electives to the MSc students so they are better informed before they can make their choices.
- It's my time to shine. There are few students, so if not enough of them enroll in the course, they will cancel my course.
Agenda to cover:
- Present myself
- Education
- Experience
- The weird bits
- Open source my evaluation
- Present the course
- Funny example
- Contents
- Purpose
- Methodology
- Provide contact
- QR code to my email
- QR code to my evaluations
---
# Message for the students
Hi, my name is Pablo and I'm the teacher in charge of the course Practical Data Science for Operations. The goal of this text is to seduce you into taking my course, Practical Data Science for Operations Management.
Let me begin by reminding you that I'll be very happy to answer any questions you have. Just send them to me through an email. I sincerely believe it's much more interesting for me to answer your doubts than to simply provide a generic course description. Nevertheless, you can find some info below to give you some starting details and hopefully spark your curiosity.
## About the Course
Imagine you are the Chief Operations Officer of Beanie Limited, a coffee roaster and dealer. Your company operates in Europe. Your supply-chain looks roughly like this:
- You import coffee beans from Brasil and Colombia. Your two procurement managers send the raw beans by ship from those locations to different docks in Europe.
- The coffee beans land in your European Distribution Centers. Some of them will be sent to several of your Regional Distribution Centers, and some of them will be sent to your Roasting Facilities.
- In your Roasting Facilities, the beans will be roasted and blended into different possible consumer facing mixes and sent again to Distribution Centers.
- All of your Distribution Centers serve orders of your customers, which include retailers, horeca chains and other smaller regional coffee roasters. Different types of products are served (wholesale raw coffee beans, wholesale roasted coffee beans, different brands of retail coffee SKUs, etc).
With all of this footprint, there is *a lot* to manage:
- How do you transport the goods between the different levels of your network? When, how much, and to where do you send your goods?
- What should be your stocking policy at each layer of the network? And at each node? Should they be managed independently or should you have a common strategy?
- How will your organize your limited Roasting infrastructure? Today, should you roast coffee A or coffee B? How much of it?
- Should you open or close locations in your network? What impact would that have on cost and performance of your supply chain?
This course is a practical trip throughout solving this kind of problems in realistic contexts. I like to think your theoretical-oriented courses in Mathematics, Statistics, Operations have been your driving theory classes and this course is going to be your first actual driving practice. Once you graduate, you will get to actually drive on the road on your own.
The course is mainly driven by a series of cases where several operations challenges will be presented to you. You will act like consulting teams that need to address them, with both business and technical lenses on. The lectures bring you the theory and methodologies you need to solve them.
The course is dramatically practical, as the title implies. We will simulate consulting scenarios in real companies. You will be tasked with realistic challenges and will have to report back to simulated personas with your results. You should expect practical work every week. It's a course where you learn mostly by solving problems and a bit by listening to me. The course is also quite technical. That means a lot of new stuff related to coding, and probably a bit of refreshing your statistics courses. We will have a mini-course in the second semester for anyone that has never coded to get up to level. You should expect a lot of Python coding, which is great because it's a skill that you will find very helpful out there. For the actual contents: we will cover interesting topics such as Machine Learning, Optimization, Metaheuristics or Simulation. From a functional point of view, we will use these techniques in contexts such as demand forecasting, inventory planning, production scheduling or last-mile logistics optimization.
You can also expect a lot of tips and stories about how doing all of this in industry is like. I can also provide your first hand information about the job market for this field, as well as a few ideas on potential companies to land at in Barcelona.
## About myself
If I'm supposed to teach you, I think you have all the right to know what my credentials are.
I'm an adjunct professor here at UPF. That means I'm not in an academic path, but rather I work in industry, and I only provide courses in UPF in my area of specialization. This affects a lot my teaching method, and you will probably notice I do things a bit differently than most teachers. An example is taking a practical first approach.
Currently, I work at a startup called Lola Market as a Data Engineer, where I build infrastructure to create data-driven products within the company. Our business is delivering groceries to your home, and my biggest fetiche is field operations management where we try to make our shoppers (the people who do the shopping and driving for you) as efficient as possible. Before Lola, I have held a variety of positions in consulting, research and private companies. A couple of important highlights are Accenture, where I was a Data Scientist specialized in Supply Chain and Operations, and the City of Amsterdam, where I performed Data Science research in the area of public parking.
As for my education, I hold a MSc in Data Science from the University of Amsterdam, and a Bachelor's Degree in Business & IT from the Autonomous University of Barcelona. I also did course work in the Technical University of Munich during my Bachelor's.
Additionally, I have several others areas of interest. These include:
- Open source software. You can check my [Github repository](https://github.com/pmartincalvo/).
- Bitcoin and Austrian Economics. I have my own Bitcoin node at home.
- Electronics and micro controllers. I'm currently trying to build an automated smart watering system for my plants at home.
Finally, you can find how students have evaluated me in my last course in [this file](![[qr_github_upf_evaluation.png]]). These scores are usually kept private by the teachers but I'm more than happy sharing them with you so you can transparently know how other students have judged me.
Looking forward to your questions. Thanks and best regards,
Pablo
Now, that was my brief introduction. I expect you, being an curious and smart bunch, to have plenty of questions. Who wants to start?
Thanks for coming. Please, don't hesitate to get in touch if more questions comes to your mind later and I hope to see at the course.
---
# Agenda for the presentation
My agenda above has been completely nuked by the fact that I will only have 5 minutes to present the course. Here is my hypercompressed version that I will do with
- Hi guys. 5 minutes is very little time to explain a course properly, so I won't do that.
- Instead, please begin by opening your phones and getting ready to read a QR code.
- Instead, and first of all, this is my email. Please, if you have more curiosity about this course, just send me an email saying hi and I'll forward you a written text that explains more to help you decided.
- About the course:
- The course is dramatically practical, as the title implies. We will simulate consulting scenarios in real companies. You will be tasked with realistic challenges and will have to report back to simulated personas with your results. You should expect practical work every week. It's a course where you learn mostly by solving problems and a bit by listening to me.
- The code is partly technical. That means a lot of new stuff coding, a bit of refreshing your statistics courses. We will have a mini course in the second semester for anyone that has never coded to get up to date. You should expect a lot of Python coding, which is great because it's a skill that you will find very helpful out there.
- For the actual contents: we will cover interesting topics such as Machine Learning, Optimization, Metaheuristics or Simulation. From a functional point of view, we will use these techniques in contexts such as demand forecasting, inventory planning, production scheduling or last-mile logistics optimization.
- Nevertheless, since I still have 4 minutes, let me explain you a few highlights on the course:
- About me in 5 cents:
- I'm Pablo. I'm an adjunct professor. For those not familiar with the naming, that means that my main job is not to be a professor. I work in industry in private companies. The stuff I teach you in class is stuff I do in my job for a living. I currently work as a Data Engineer in a startup called Lola Market. Previously, I was Data Scientist specialized in the area of Supply Chain and Manufacturing at Accenture. I hold a MSc in Data Science from the University and a Bache
- And we are out of time. Again, if you have any curiosity at all about the course, please just shoot me an email saying hi so I can send you my little text. You will make my day. Thanks for your time, good luck with your ongoing courses and see you soon.
---
# QR codes
Email ![[qr_upf_email.png]]
My last course evaluation ![[qr_github_upf_evaluation.png]]

263
other/aot_syllabus.md Normal file
View file

@ -0,0 +1,263 @@
# Applied Optimization Techniques
PENDING REVIEW FOR 22/23 EDITION
## Course goals
The goal of this course is to provide an introduction to simulation,
optimization and machine learning techniques to students with a background in
social sciences, with an approach biased towards practical work. The expected
outcome is that students that have passed this course know a variety of modern
and useful techniques that can be applied in real-life business contexts. With
this knowledge and experience, the students understand what are the right
techniques for different problems, which are the main steps and requirements to
apply each of these techniques and how to judge the successful application of
them.
Many of the techniques taught in this course are usually taught to engineering
and technical profiles. This course does not aim to bring students to the same
level of technical expertise as their engineering counterparts, but rather to
provide enough background so that the students can successfully interact with
such profiles. Having said that, this course can also be a first introduction
for students that are willing to pursue a more thorough learning of the
techniques discussed in the course, after or during itself.
With the knowledge and skills obtained in this course, students become fit for
tasks such as:
- Applying simulation, optimization and machine learning techniques to simple
cases.
- Planning and designing simulation, optimization and machine learning
initiatives.
- Leading simulation, optimization and machine learning projects from a
managerial point of view.
- Acting as a liaison between management and technical profiles in business
contexts.
## Pre-requisities
The course assumes the student has covered Mathematics I, II, III courses and
the Probability & Statistics course. Passing this course is not impossible if
that is not the case, but the student should expect a non-trivial challenge
ahead.
Knowledge of the following topics will help students better leverage this
course, but is not strictly required:
- Basic programming, specially in data oriented languages such as Python or R.
- Operations research
## Teaching method and contents
The course will have lecture classes and practical seminars. Classes start on
April 7th.
There will be 20 lecture classes and 6 practical seminars. Lecture classes will
be used to present material to students as well as having discussions on the
course contents. For the practical seminars, students will be divided into two
groups with independent sessions to reduce the class size. The practical
seminars will be used to deep-dive in the three mandatory case assignments that
students will do throughout the course. The sesions will also be hands-on and
students will work in the case together with the professor.
Students are expected to attend all the activities in the course. Beyond
lectures and practical seminars, additional reading resources will be provided
to students. For students that need to level up their Python skills, self-paced
materials will be suggested.
Lectures will have the following contents:
| Week | Classes | Student work |
|------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | - L1: Introduction and motivation of the course<br/> - L2: Simulation, Optimization and Machine Learning in companies | - Python prep |
| 2 | - L3: Introduction to simulation: What is it, When do we use it, Types of simulation<br/> - L4: Simulation examples in Python. Introduction to case 1. | - Python prep<br/> - View [Primer: Simulating a pandemic](https://www.youtube.com/watch?v=7OLpKqTriio) <br/>- Read [Agent-based modeling: Methods and techniques for simulating human systems](https://www.pnas.org/content/99/suppl_3/7280) <br/> - Read case 1. |
| 3 | - L5: Simulation methodology. <br/> - L6: Simulation-based optimization I. Challenges and issues with simulation. Where to go from here<br/> - S1: Workshop for case 1 | - Work on case 1 <br/> - Review [HASH model market simulation](https://hash.ai/@hash/model-market-python) <br/>- Review [HASH warehouse simulation](https://hash.ai/@hash/warehouse-logistics) |
| 4 | - L7: Introduction to optimization<br/> - L8: Modeling optimization problems<br/> - S2: Workshop for case 1 | - Work on case 1 <br/> - Read Gurobi's [Modelling Basics](https://www.gurobi.com/resource/modeling-basics/) <br/> - Read Neos [taxonomy of optimization problems](https://neos-guide.org/optimization-tree) <br/> - View this video on the [Simplex algorithm](https://www.youtube.com/watch?v=RO5477EKlXE) |
| 5 | - L9: Taxonomy of optimization techniques <br/> - L10: Simulation-based optimization II. Introduction to case 2 | - Deliver case 1 <br/> - Read case 2 <br/> - Enjoy watching [simulation-based race car training](https://www.youtube.com/watch?v=-sg-GgoFCP0) <br/> - Read how the [4th most popular database software in the world uses GAs to access data faster.](https://www.postgresql.org/docs/8.0/geqo-intro2.html) |
| 6 | - L11: Challenges in real-world usage. Simulation vs Optimization <br/> - L12: Introduction to Machine Learning <br/> - S3: Workshop for case 2 | - Work on case 2 <br/> - Read this [review on simulation optimization techniques and softwares](https://arxiv.org/pdf/1706.08591.pdf) |
| 7 | - L13: Supervised Machine Learning (SML): NIPS<br/> - L14: Typical SML workflow. Introduction to case 3<br/> - S4: Workshop for case 2 | - Work on case 2 <br/> - Read case 3 |
| 8 | - L15: Algorithm deep dive: Decision trees<br/> - L16: Feature Engineering and Model Evaluation<br/> - S5: Workshop for case 3 | - Deliver case 2 <br/> - View this [intro to neural networks](https://www.youtube.com/watch?v=aircAruvnKk&t=10s) and this [intro to random forests](https://www.youtube.com/watch?v=J4Wdy0Wc_xQ) |
| 9 | - L17: Deployment of Models <br/> - L18: Stories from the trenches: applying all of this in the real world<br/> - S6: Workshop for case 3 | - Work on case 3 <br/> - View this video on [why businesses fail at ML](https://www.youtube.com/watch?v=dRJGyhS6gA0) |
| 10 | - L19: Where to go from here: further learning and carreer advice<br/> - L20: Final Q&A, exam preparation | - Work on case 3 |
| 11 | - Exam | - Deliver case 3 | | |
- Lecture 1 INTRO
- Introduction to the course
- Citizenship rules
- Won't force you to come, but I advice you to.
- I'll always try to start 5min late, finish 5min late, and stop
for 5min.
- You can come and go, just please be respectful.
- Calendar
- Contents
- Expectations
- The teacher
- Evaluation
- Contact
- Questions?
- The relevance of math and computers in management
- Examples: pricing, logistics, staffing.
- The skills and profiles required
- The tools used
- Lecture 2 INTRO
- The techniques we will see in the course
- Simulation
- Optimization
- Supervised machine learning (aka "prediction")
- Why this stuff is important
- Lecture 3 SIM
- A humbling example
- What is simulation and when do we use it
- Different types of simulations
- Lecture 4 SIM
- Toy simulations in Python
- How to approach simulation in practical terms
- Tools in industry
- Lecture 5 SIM
- Theoretical background on simulation
- Present case 1
- Lecture 6 SIM
- Simulation-based optimization
- Where to go from here
- Lecture 7 OPT
- What is optimization
- A trivial example
- Lecture 8 OPT
- Different optimization techniques
- Present case 3
- Lecture 9 OPT
- How to model optimization problems (target functions, decision variables
and constraints)
- Lecture 10 OPT
- Simulation-based optimization: Genetic algorithms
- Lecture 11 OPT
- Real world challenges and optimization deployment
- Lecture 12 ML
- Good news, you already know Machine Learning
- Different branches of Machine Learning
- Real world examples of applications
- Lecture 13 ML
- How does Supervised Machine Learning work?
- Present case 2
- Lecture 14 ML
- The Machine Learning workflow (EDA, Feature Engineering, Model
Evaluation, Deployment)
- Lecture 15 ML
- Feature Engineering
- Lecture 16 ML
- Model evaluation
- Lecture 17 ML
- Deployment and real world challenges
- Lecture 18 Real life stories from the trenches
- Lecture 19 Real life stories from the trenches
- Lecture 20
- Q&A pre-exam
- Feedback on the course
## Case details
Case 1
- Title: Choosing stock policies under uncertainty
- Description: Students role-play their participation as consultants in a
project for Beanie Limited, a coffee beans roasting company. Elisa, the
regional manager for the italian region, is not happy with their inventory
policies for raw beans. The students are asked to analyse the problems posed
by Elisa and apply simulation techniques, together with real data, to
recommend a stock policy for the company's warehouse in the italian region.
Python notebooks with some helpful prepared functions are provided to the
students. The final delivery is a report with their recommendation to the
client company, along with the used code.
Case 2 candidate
- Title: ?
- Description: ?
- Sample idea: https://www.gurobi.com/resource/facility-location-problem/
Case 3
- Title: Improving last-mile scheduling with Machine Learning
- Description: Students role-play their participation as consultants in a
project for Beanie Limited, a coffee beans roasting company. Pieter, the
director of secondary transportation, has requested help from the student
consultants. One of the key activities in Pieter's team is the daily
scheduling, where the different trucks get assigned which deliveries and
routes will perform. The students are asked to develop a machine-learning
algorithm to predict the drop-time for each delivery (the drop-time is the
time a driver takes in unloading the goods in a a client location. More
informally, the time that passes since he removes the key from the truck
until he starts the engine again). The goal is to provide more advanced
information for Pieter's schedulers so they can better plan the routes of
their drivers. The students are asked to build and deliver a Machine Learning
algorithm that predicts this time. The students will be provided a labelled
dataset. The final delivery is the working prediction model, along with a
report explaining their methodology in building it, and answering some
business questions to the client company.
## Grading
The following items compose the final grade:
- Case assignments: 50% of the grade. There will be three assignments, each
with the same weight. The average grade of the assignments must be of 5 or
more to pass the course.
- Final exam: 50% of the grade. There will be a final exam at the end of the
course. The grade must be of 5 or more to pass the course.
Students who fail the final exam will get the chance to sit a retake exam.
A final grade is calculated as:
<!-- @formatter:off -->
```python
if avg(case1_grade, case2_grade, case3_grade) < 5:
passed_course = False
if final_exam_grade < 5:
passed course = False
passed_course = True
final_grade = (avg(case1_grade, case2_grade, case3_grade) + final_exam_grade) / 2
```
<!-- @formatter:on -->
## Bibliography
All compulsory and required materials will be provided during the course. These
include lecture notes, required readings and description readings.
A good book that follows the approach of this course is "Guttag, John.
Introduction to Computation and Programming Using Python: With Application to
Understanding Data. 2nd ed. MIT Press, 2016. ISBN: 9780262529624", used in the
homonymous course at MIT. It is not compulsory to use this book, but some
students might find it helpful.
Additional specific readings will be provided throughout the course. Students
will be requested to read some of these materials in advance of some sessions.
For students that want to dive deeper in the topics covered in the course, the
following books are recommended:
- On simulation: Louis G. Birta Gilbert Arbez, Modelling and Simulation.
Springer 2019 ISBN: 978-3-030-18869-6 or Law A., Kelton D., Simulation and
Modelling Analysis, Second Edition, McGraw-Hill, ISBN: 978-0071165372
- On machine learning: Hastie T., Tibshirani R., Friedman J., The Elements Of
Statistical Learning: Data Mining, Inference, And Prediction, Second Edition
ISBN: 978-0387848570
## Cool ideas & notes
- Hold a Kaggle competition with the students. Winners come to spend a morning
in Accenture.
- Start every lecture with a fun fact.
- Let them choose the challenge for one of the practical labs.
- Should I have office hours?
- Will the classes be recorded?
- What's are the policies on:
- Late deliveries
- Not attending exam
- Re-takes
- https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0002-introduction-to-computational-thinking-and-data-science-fall-2016

254
other/pds_syllabus.md Normal file
View file

@ -0,0 +1,254 @@
# Practical Data Science for Operations Management
## Course description
Operations Management is a field filled with opportunities to apply Data
Science techniques. This course presents a set of practical cases where
students can put their knowledge to use in realistic challenges and relate
their theoretical knowledge with its application in industry. The expected
outcome is that students that have passed this course are familiar a variety of
modern and useful techniques that can be applied in real-life operations
contexts. With this knowledge and experience, the students understand what are
the right techniques for different problems, which are the main steps and
requirements to put each of these techniques to use and how to judge their
successful application.
Many of the techniques taught in this course are usually taught to engineering
and technical profiles. This course does not aim to bring students to the same
level of technical expertise as their engineering counterparts, but rather to
provide enough background so that the students can successfully interact with
such profiles. Having said that, this course can also be a first introduction
for students that are willing to pursue a more thorough learning of the
techniques discussed in the course, after or during itself.
## Objectives
With the knowledge and skills obtained in this course, students become fit for
tasks such as:
- Applying Data Science techniques, including optimization, simulation and
machine learning, to simple cases at a hands-on level.
- Planning and designing optimization, simulation and machine learning
initiatives to solve operational challenges.
- Leading optimization, simulation and machine learning projects from a
managerial point of view.
- Acting as a liaison between management and technical profiles in business
contexts.
- Becoming familiar with the Python programming language and several
specialized packages within the Data Science environment.
## Prerequisities
The course assumes the student has covered economics and management oriented
Mathematics and Statistics courses at undergraduate level.
Additional knowledge on Operations Management, Supply Chain Management and
Manufacturing will provide a better functional context for the cases and make
the course more profitable.
Previous programming experience will allow students to focus much more on the
operations side of the course. Passing this course is not impossible if that is
not the case, but the student should expect a non-trivial challenge ahead.
## Methodology
There will be 20 sessions throughout the course. Sessions will contain a mix of
lecturing and practical work and discussions. Students will team up to work on
several practical cases that will be handed-in throughout the course and will
allow students to put their knowledge into practice. Python will be the tool of
choice for most technical work, with different specialized packages used to
tackle different parts of the course.
Students are expected to attend all the activities in the course. Beyond class
sessions, additional reading resources will be provided to students. For
students that need to level up their Python skills, self-paced materials will
be suggested.
Lectures will have the following contents:
| Week | Classes | Student work |
|------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | - L1: Introduction and motivation of the course<br/> - L2: Simulation, Optimization and Machine Learning in companies | - Python prep |
| 2 | - L3: Introduction to simulation: What is it, When do we use it, Types of simulation<br/> - L4: Simulation examples in Python. Introduction to case 1. | - Python prep<br/> - View [Primer: Simulating a pandemic](https://www.youtube.com/watch?v=7OLpKqTriio) <br/>- Read [Agent-based modeling: Methods and techniques for simulating human systems](https://www.pnas.org/content/99/suppl_3/7280) <br/> - Read case 1. |
| 3 | - L5: Simulation methodology. <br/> - L6: Simulation-based optimization I. Challenges and issues with simulation. Where to go from here<br/> - S1: Workshop for case 1 | - Work on case 1 <br/> - Review [HASH model market simulation](https://hash.ai/@hash/model-market-python) <br/>- Review [HASH warehouse simulation](https://hash.ai/@hash/warehouse-logistics) |
| 4 | - L7: Introduction to optimization<br/> - L8: Modeling optimization problems<br/> - S2: Workshop for case 1 | - Work on case 1 <br/> - Read Gurobi's [Modelling Basics](https://www.gurobi.com/resource/modeling-basics/) <br/> - Read Neos [taxonomy of optimization problems](https://neos-guide.org/optimization-tree) <br/> - View this video on the [Simplex algorithm](https://www.youtube.com/watch?v=RO5477EKlXE) |
| 5 | - L9: Taxonomy of optimization techniques <br/> - L10: Simulation-based optimization II. Introduction to case 2 | - Deliver case 1 <br/> - Read case 2 <br/> - Enjoy watching [simulation-based race car training](https://www.youtube.com/watch?v=-sg-GgoFCP0) <br/> - Read how the [4th most popular database software in the world uses GAs to access data faster.](https://www.postgresql.org/docs/8.0/geqo-intro2.html) |
| 6 | - L11: Challenges in real-world usage. Simulation vs Optimization <br/> - L12: Introduction to Machine Learning <br/> - S3: Workshop for case 2 | - Work on case 2 <br/> - Read this [review on simulation optimization techniques and softwares](https://arxiv.org/pdf/1706.08591.pdf) |
| 7 | - L13: Supervised Machine Learning (SML): NIPS<br/> - L14: Typical SML workflow. Introduction to case 3<br/> - S4: Workshop for case 2 | - Work on case 2 <br/> - Read case 3 |
| 8 | - L15: Algorithm deep dive: Decision trees<br/> - L16: Feature Engineering and Model Evaluation<br/> - S5: Workshop for case 3 | - Deliver case 2 <br/> - View this [intro to neural networks](https://www.youtube.com/watch?v=aircAruvnKk&t=10s) and this [intro to random forests](https://www.youtube.com/watch?v=J4Wdy0Wc_xQ) |
| 9 | - L17: Deployment of Models <br/> - L18: Stories from the trenches: applying all of this in the real world<br/> - S6: Workshop for case 3 | - Work on case 3 <br/> - View this video on [why businesses fail at ML](https://www.youtube.com/watch?v=dRJGyhS6gA0) |
| 10 | - L19: Where to go from here: further learning and carreer advice<br/> - L20: Final Q&A, exam preparation | - Work on case 3 |
| 11 | - Exam | - Deliver case 3 | | |
- Lecture 1 INTRO
- Introduction to the course
- Citizenship rules
- Won't force you to come, but I advice you to.
- I'll always try to start 5min late, finish 5min late, and stop
for 5min.
- You can come and go, just please be respectful.
- Calendar
- Contents
- Expectations
- The teacher
- Evaluation
- Contact
- Questions?
- The relevance of math and computers in management
- Examples: pricing, logistics, staffing.
- The skills and profiles required
- The tools used
- Lecture 2 INTRO
- The techniques we will see in the course
- Simulation
- Optimization
- Supervised machine learning (aka "prediction")
- Why this stuff is important
- Lecture 3 SIM
- A humbling example
- What is simulation and when do we use it
- Different types of simulations
- Lecture 4 SIM
- Toy simulations in Python
- How to approach simulation in practical terms
- Tools in industry
- Lecture 5 SIM
- Theoretical background on simulation
- Present case 1
- Lecture 6 SIM
- Simulation-based optimization
- Where to go from here
- Lecture 7 OPT
- What is optimization
- A trivial example
- Lecture 8 OPT
- Different optimization techniques
- Present case 3
- Lecture 9 OPT
- How to model optimization problems (target functions, decision variables
and constraints)
- Lecture 10 OPT
- Simulation-based optimization: Genetic algorithms
- Lecture 11 OPT
- Real world challenges and optimization deployment
- Lecture 12 ML
- Good news, you already know Machine Learning
- Different branches of Machine Learning
- Real world examples of applications
- Lecture 13 ML
- How does Supervised Machine Learning work?
- Present case 2
- Lecture 14 ML
- The Machine Learning workflow (EDA, Feature Engineering, Model
Evaluation, Deployment)
- Lecture 15 ML
- Feature Engineering
- Lecture 16 ML
- Model evaluation
- Lecture 17 ML
- Deployment and real world challenges
- Lecture 18 Real life stories from the trenches
- Lecture 19 Real life stories from the trenches
- Lecture 20
- Q&A pre-exam
- Feedback on the course
## Contents
The course focuses on two advanced topics within the context of Operations
Management: Optimization and Machine Learning. The backbone of the course is a
chain of practical cases that challenge the students to use these techniques,
applied in the Python programming language, to solve realistic problems. Hence,
the priority for students is to solve the cases, and lectures are not an end
but a mean to tackle the practical side of the course.
You can find below the contents planned for each week. The final exact contents
may be adapted to the students previous knowledge and skills to improve their
experience.
| Week | Contents |
|------|-------------------------------------------------------------------------------------------------|
| 1 | - Introduction and motivation of the course<br/> - Data Science in companies |
| 2 | - Introduction to case 1.<br/> - Real-world challenges with exact methods optimization |
| 3 | - Case 1 Workshop <br/> - Introduction to Simulation and Metaheuristics |
| 4 | - Introduction to case 2.<br/> - Simulation-based Optimization |
| 5 | - Case 2 Workshop <br/> - Metaheuristics Deep Dive: Genetic Algorithms |
| 6 | - Introduction to case 3.<br/> - Real-world challenges with simulation and heuristic approaches |
| 7 | - Case 3 Workshop <br/> - Introduction to Supervised Machine Learning |
| 8 | - Introduction to Case 4 <br/> - Supervised Machine Learning Methodology |
| 9 | - Case 4 Workshop <br/> - Algorithm Deep Dive: Decision Trees and Random Forests |
| 10 | - Where to go from here: further learning and carreer advice<br/> - Final Q&A, exam preparation |
## Evaluation Criteria
The following items compose the final grade:
- Case assignments: 60% of the grade. There will be several assignments, each
with the same weight. The average grade of the assignments must be of 4 or
more to pass the course.
- Final exam: 40% of the grade. There will be a final exam at the end of the
course. The grade must be of 4 or more to pass the course.
Students who fail the final exam will get the chance to sit a retake exam.
There is no retake for the case assignments.
Students are required to attend 80% of the classes. Failing to do so without
justified reason will imply a zero grade in the participation/attendance
evaluation item and may lead to suspension from the program.
In case of a justified no-show to an exam, the student must inform the
corresponding faculty member and the director(s) of the program so that they
study the possibility of rescheduling the exam (one possibility being during
the “Retake” period). In the meantime, the student will get an “incomplete”,
which will be replaced by the actual grade after the final exam is taken. The
“incomplete” will not be reflected on the students Academic Transcript.
Plagiarism is to use anothers work and presenting it as ones own without
acknowledging the sources in the correct way. All essays, reports or projects
handed in by a student must be original work completed by the student. By
enrolling at any UPF BSM Master of Science and signing the “Honor Code,”
students acknowledge that they understand the schools policy on plagiarism and
certify that all course assignments will be their own work, except where
indicated by correct referencing. Failing to do so may result in automatic
expulsion from the program.
## Bibliography
All compulsory and required materials will be provided during the course. These
include lecture notes, required readings and description readings.
A good book that follows the approach of this course is "Guttag, John.
Introduction to Computation and Programming Using Python: With Application to
Understanding Data. 2nd ed. MIT Press, 2016. ISBN: 9780262529624", used in the
homonymous course at MIT. It is not compulsory to use this book, but some
students might find it helpful.
Additional specific readings will be provided throughout the course. Students
will be requested to read some of these materials in advance of some sessions.
For students that want to dive deeper in the topics covered in the course, the
following books are recommended:
- On simulation: Louis G. Birta Gilbert Arbez, Modelling and Simulation.
Springer 2019 ISBN: 978-3-030-18869-6 or Law A., Kelton D., Simulation and
Modelling Analysis, Second Edition, McGraw-Hill, ISBN: 978-0071165372
- On metaheuristics: Sean Luke, 2013, Essentials of Metaheuristics, Lulu,
second edition, available for free
at http://cs.gmu.edu/~sean/book/metaheuristics/
- On machine learning: Hastie T., Tibshirani R., Friedman J., The Elements Of
Statistical Learning: Data Mining, Inference, And Prediction, Second Edition
ISBN: 978-0387848570
## Professor Bio
Pablo Martín is an adjunct professor at UPF, where he teaches applied Data
Science with a focus on Operations and Supply Chain. He has several years of
experience in the fields of Data Science and Data Engineering in industry, both
in Consulting and final companies. He also has experience in research. Pablo
holds a MSc degree in Data Science from the University of Amsterdam, and a BSc
in Business & Technology from the Autonomous University of Barcelona. Some of
his other interests include open-source software, Austrian Economics and
Bitcoin. You can find out more
at [LinkedIn](https://www.linkedin.com/in/pablomartincalvo/)
and [github](https://github.com/pmartincalvo).

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,013 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB