IT5082 Optimization Methods OM Assignment
seyon r
0:00 / 0:00
IT5082 Optimization Methods OM Assignment
1 просмотр · 10 дней назад
seyon r
1 просмотр · 10 дней назад
DESCRIPTION:
Programming Assignment submission for IT5082 – Optimization Methods.
MSc in Artificial Intelligence
Sri Lanka Institute of Information Technology (SLIIT)
─────────────────────────────────────
Group Members
─────────────────────────────────────
Ramalingham Seyon MS26912516
Kekulawala Vidanalage Dhammika Kekulawala MS26902784
─────────────────────────────────────
Project Overview
─────────────────────────────────────
This project solves the Nurse / Staff Rostering problem: deciding, for every
nurse and every day of a planning period, which shift (if any) they work,
while satisfying labour rules, covering staffing requirements, and
respecting nurses' own shift requests as far as possible.
Dataset: https://schedulingbenchmarks.org/nrp/
(Nurse Rostering Benchmark Instances 1-24, Curtois & Qu)
Methods used:
• Exact method - Integer Linear Programming, Branch and Bound / Branch
and Cut via PuLP and the CBC solver (Ramalingham Seyon)
• Heuristic method - Genetic Algorithm with a penalty-method fitness
function, via DEAP (Kekulawala Vidanalage Dhammika Kekulawala)
Both methods are scored by the same independent roster evaluator and
compared on six benchmark instances spanning a 150x range in problem size,
by solution quality, runtime, scalability and feasibility.
─────────────────────────────────────
Tools & Technologies
─────────────────────────────────────
Python | Jupyter Notebook | PuLP | CBC | DEAP | pandas | NumPy | Matplotlib