MILP-based scheduling for graduate visit days
Project description
Grad Visitor Scheduler
MILP-based scheduling utilities for graduate visit days.
This repository contains only public code and example data. It does not include any Notre Dame-specific data.
Install
pip install grad-visitor-scheduler
Solver setup:
- HiGHS is installed by default via the
highspydependency. - To use CBC, install the solver binary with conda:
conda install -c conda-forge coincbc
Quickstart
from pathlib import Path
from grad_visit_scheduler import scheduler_from_configs, Mode, Solver
root = Path("examples")
s = scheduler_from_configs(
root / "faculty_example.yaml",
root / "config_basic.yaml",
root / "data_fake_visitors.csv",
mode=Mode.NO_OFFSET,
solver=Solver.HIGHS,
)
s.schedule_visitors(
group_penalty=0.1,
min_visitors=0,
max_visitors=4,
min_faculty=1,
max_group=2,
enforce_breaks=True,
tee=False,
run_name="demo",
)
if s.has_feasible_solution():
s.show_visitor_schedule(save_files=True)
Note: the examples/ folder referenced above is included in the repository,
but it is not packaged on PyPI. If you installed from PyPI, clone the repo
to access the example files.
Buildings
The run config defines exactly two buildings, and building_order declares
which one is Building A vs Building B. Mode controls how movement between
buildings is constrained:
Mode.BUILDING_A_FIRST: visitor starts in Building A, then may move to BMode.BUILDING_B_FIRST: visitor starts in Building B, then may move to AMode.NO_OFFSET: visitor may move either direction, but only with an empty slot
## Export DOCX
```python
from grad_visit_scheduler import export_visitor_docx
export_visitor_docx(s, "visitor_schedule.docx")
License
BSD-3-Clause
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grad_visitor_scheduler-0.1.1.tar.gz.
File metadata
- Download URL: grad_visitor_scheduler-0.1.1.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4633fb6cf6f2c532c2d6c1f0e335fe6934522294862137800ab18c09bc7cd6bd
|
|
| MD5 |
eb16b3aec68a1024b9edeb08ebe6158b
|
|
| BLAKE2b-256 |
2a8f5ace3f40b072d60bab091fc75ffaa6209183a6aed3088187e55262ab85e3
|
File details
Details for the file grad_visitor_scheduler-0.1.1-py3-none-any.whl.
File metadata
- Download URL: grad_visitor_scheduler-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba7194664109d9aeae90b1928a29e640ff78b179835c1da605c616e848ae341c
|
|
| MD5 |
769b98942667e193cd56a5bd132a8c36
|
|
| BLAKE2b-256 |
026a14ac04c8be60c4b46bd5704b14321795f2a4b6d9e1ff48a1f0700dcbe340
|