Type: IP (Integer Programming)
This handbook explains the Home Healthcare Routing sample problem in the LP Black Box platform.
Home healthcare agencies need to optimize their caregivers' daily routes to serve as many patients as possible while managing time and budget constraints.
A home healthcare agency has one caregiver who needs to visit 4 different patient locations throughout the day.
| Patient | Priority Score | Time per Visit (min) | Travel Cost ($) |
|---|---|---|---|
| Patient A | 10 | 45 | 5 |
| Patient B | 15 | 60 | 8 |
| Patient C | 12 | 30 | 3 |
| Patient D | 8 | 45 | 6 |
Maximize the total priority score (value of care provided) while staying within time and budget limits.
Time Limit: The caregiver has only 8 hours (480 minutes) per day
Formula: 45×visit_A + 60×visit_B + 30×visit_C + 45×visit_D ≤ 480
Fuel Budget: Cannot exceed $150 for travel
Formula: 5×visit_A + 8×visit_B + 3×visit_C + 6×visit_D ≤ 150
Minimum Patients: Must serve at least 6 patients (or partial visits weighted)
Formula: visit_A + visit_B + visit_C + visit_D ≥ 6
Note: In this simplified model, each variable represents a "unit" of visit. You can adjust the RHS based on whether partial visits are allowed.
Patient B Limit: Cannot visit Patient B more than 5 times (due to availability)
Formula: visit_B ≤ 5
You should see:
Variables:
| Name | Type | Lower Bound |
|---|---|---|
| visit_A | Integer | 0 |
| visit_B | Integer | 0 |
| visit_C | Integer | 0 |
| visit_D | Integer | 0 |
Objective:
Constraints:
Click Solve LP to find the optimal visit schedule.
The solution will show:
The solver will determine the optimal mix of visits that:
The priority score represents the clinical importance or urgency of each patient visit. By maximizing this, the agency ensures the most important patients get care first.
If the caregiver works 10 hours instead of 8 (600 minutes), how does the solution change?
Change time_limit RHS from 480 to 600.
Add a new patient E with:
Add a new variable visit_E with coefficient 20 in objective, 40 in time_limit, and 7 in fuel_budget.
Add a constraint that Patient B must be visited at least 3 times:
min_BThis simplified model can be extended to:
| Concept | Description |
|---|---|
| Maximize Objective | Get the highest total value (priority score) |
| Time Constraint | Limits total working hours |
| Budget Constraint | Limits travel expenses |
| Integer Variables | Whole visits (can't do half a visit) |
This sample demonstrates how Linear Programming can help home healthcare agencies maximize patient care with limited resources.