Why Schedule Feasibility Needs Its Own Check
A regimen can satisfy a daily dose limit and a frequency limit yet still be impossible to carry out as written. A clinic may administer doses only during specified hours; an interval between administrations may need to fall within a permitted range; and an infusion must fit within the time a facility or device is available. These are schedule constraints. They determine whether the proposed times and durations can be implemented, not whether the resulting exposure or response meets a pharmacologic target.
The practical task is to translate each operational rule into a condition on administration times or infusion intervals, then check all conditions together. A candidate is feasible only if there is a set of times and durations that satisfies every applicable condition. A schedule that violates even one hard constraint is infeasible, even if it performs well on a separate dose or exposure objective.
Unless otherwise stated, time windows in this tutorial are closed: an administration at either endpoint is permitted. Times are measured on a continuous clock, with units stated explicitly. If a real protocol excludes an endpoint, use an open inequality instead. Also specify whether an interval is measured from the start or end of an administration; examples below measure dose intervals from one administration start to the next.
Representing Time Windows and Interval Constraints
Write a permitted window for administration \(i\) as \([a_i,b_i]\). A proposed administration time \(t_i\) is allowed when \(a_i\leq t_i\leq b_i\). If the time between consecutive administrations must be between \(L\) and \(U\), inclusive, then \(L\leq t_2-t_1\leq U\). These conditions must hold simultaneously: a gap that is acceptable by itself does not make a schedule feasible if either administration falls outside its permitted window.
For two windows on the same day, one can check whether any pair of times can achieve a required interval without prematurely assuming which times will be selected. Consider all pairwise differences \(t_2-t_1\), where \(t_1\in[a_1,b_1]\) and \(t_2\in[a_2,b_2]\). The smallest such difference is \(a_2-b_1\), and the largest is \(b_2-a_1\). Thus the full set of differences over all pairs is \([a_2-b_1,b_2-a_1]\). But that range includes differences from pairs in which the second administration is earlier than the first. If the second administration must be later on the same day, only positive differences are eligible.
This is an existence test, not a guarantee that every pair of permitted times works. If it passes, a specific pair still has to be selected and checked. If the regimen fixes exact times rather than allowing a choice within windows, check those times directly against each constraint.
Worked Example: Checking an Interval Between Two Daily Windows
A hypothetical regimen permits a first administration from 07:00 to 09:00 and a later administration from 18:00 to 20:00. The required interval between their start times is 10 to 12 hours. Determine whether a feasible pair exists.
The windows are \([7,9]\) and \([18,20]\), with time measured in hours after midnight. The pairwise difference range is \( [18-9,\ 20-7]=[9,13] \) hours. Because every time in the second window is later than every time in the first, all differences are positive. Intersecting with the required interval gives \( [9,13]\cap[10,12]=[10,12] \), which is nonempty.
For an explicit feasible choice, take 08:00 and 18:00. Both times lie within their respective windows, and the interval is \(18-8=10\) hours, within the required 10–12 hours. The schedule is feasible. By contrast, a required interval of 14–16 hours would fail the test because \([9,13]\cap[14,16]\) is empty.
When windows overlap, the ordering check matters. For example, if both administrations are allowed from 08:00 to 10:00, the pairwise difference range is \([-2,2]\) hours. That does not mean a later administration can be separated by a negative interval. For a strictly later second administration, the eligible differences are \((0,2]\): a positive gap up to two hours can be achieved, but zero and negative gaps cannot. The general intersection test handles this case without requiring the windows to be ordered in advance.
Repeating Schedules and Midnight
A daily regimen repeats its clock-time windows on successive days. To check an interval that crosses midnight, represent times on an unwrapped timeline rather than subtracting clock readings as if the day did not change. If an administration occurs at time \(t\) hours after midnight, the same clock time the next day is \(24+t\). For a schedule with two administrations each day, check both the within-day gap and the overnight gap from the later administration to the next day's earlier administration.
Worked Example: Testing a Two-Administration Daily Pattern
A hypothetical daily regimen has a morning administration window of 07:00–09:00 and an evening window of 19:00–21:00. The interval between successive administrations must be 11–13 hours. A proposed repeating schedule uses 08:00 and 20:00 each day. Check both gaps.
Both proposed times are permitted. The within-day interval is \(20-8=12\) hours. The next morning administration occurs at \(24+8=32\) hours on the unwrapped timeline, so the overnight interval is \(32-20=12\) hours. Both intervals are within 11–13 hours, so the repeating schedule satisfies the time-window and interval constraints.
The midnight calculation is essential. Subtracting the clock readings in the reverse direction, \(8-20=-12\), would not represent elapsed time. The correct overnight difference uses the next day's time, \(24+8\), and is positive.
For more than two administrations, apply the required interval condition to every successive pair, including the last administration of one day and the first of the next. A repeating schedule is not feasible merely because all within-day gaps pass; its overnight gap must also pass. If some doses are intentionally omitted on certain days, specify that pattern explicitly before checking the relevant gaps.
Infusion Availability Includes the Full Duration
An infusion's start time can be permitted while the infusion itself cannot be completed in the available period. Let an infusion start at \(s\), last for \(d\) hours, and use an availability block \([u,v]\). To fit entirely within that block, it must satisfy \(s\geq u\) and \(s+d\leq v\). Equivalently, \(s\in[u,v-d]\), provided \(d\leq v-u\). These conditions check continuous availability for the whole infusion, not just at its start.
If an infusion also has its own permitted start window \([a,b]\), a feasible start exists in that availability block exactly when \([a,b]\cap[u,v-d]\neq\varnothing\). If the infusion must follow another administration by an allowed interval, that condition must be checked as well. When availability consists of multiple separate blocks, test the infusion against each block; an infusion cannot be treated as continuous across a period when the resource is unavailable.
Worked Example: Checking Infusion Start Times and Availability
A hypothetical two-infusion regimen permits the first infusion to start from 07:00 to 08:00 and the second from 13:00 to 14:00. Each infusion lasts two hours. The infusion unit is available from 06:00 to 10:00 and from 12:00 to 16:00. The interval between infusion start times must be 6–8 hours. Check a proposed schedule with starts at 07:30 and 13:30.
For the first availability block, the allowed start range after accounting for the two-hour duration is \([6,10-2]=[6,8]\). The first permitted start window \([7,8]\) intersects this range, and 07:30 is within both. The infusion ends at 09:30, before the unit becomes unavailable at 10:00.
For the second block, the allowed start range is \([12,16-2]=[12,14]\). The second permitted start window \([13,14]\) intersects it, and 13:30 is within both. That infusion ends at 15:30, before 16:00. The interval between starts is \(13.5-7.5=6\) hours, within the required 6–8 hours. Thus the proposed schedule satisfies the start windows, both full-duration availability requirements, and the interval constraint.
If the second infusion instead started at 13:00, the availability and start-window checks would still pass, but the start-to-start interval would be \(13-7.5=5.5\) hours, below the required minimum of 6 hours. That candidate would be infeasible because one hard constraint fails.
A Systematic Feasibility Check
For a candidate schedule, collect the constraints before judging feasibility. This avoids treating each rule as if it were the only one that matters.
State whether each variable is a dose start time, infusion start time, or another specified event, and give its time units and day index.
Check every proposed administration against its own window, including the correct day when the schedule repeats.
Subtract consecutive event times on an unwrapped timeline and compare each result with its required bounds.
For each infusion, verify that its start and end both fit within one continuous availability block.
The candidate is operationally feasible only if every applicable constraint passes. Record any failed constraint rather than averaging or trading it against a passing one.
A short derivation explains the interval-range test. Since \(t_2-t_1\) increases as \(t_2\) increases and decreases as \(t_1\) increases, its minimum over the two closed windows occurs at \(t_2=a_2\), \(t_1=b_1\), giving \(a_2-b_1\). Its maximum occurs at \(t_2=b_2\), \(t_1=a_1\), giving \(b_2-a_1\). Every intermediate difference is attainable because the windows are intervals and the difference changes continuously as either time varies. Therefore all pairwise differences form \([a_2-b_1,b_2-a_1]\). Requiring the second administration to be later removes zero and negative differences, which is why the positive-time condition must be applied when the required interval does not already enforce it.
Diagnostics, Alternatives, and Limits
A useful diagnostic is to identify which constraint causes infeasibility. An empty intersection between the permitted start window and the duration-adjusted availability block indicates a resource conflict. A required interval that does not intersect the positive pairwise-difference range indicates a timing conflict. A candidate that passes an existence test but fails when its actual times are substituted indicates that a feasible choice may exist, but the proposed choice is not that choice.
Common warning signs include intervals calculated from clock readings without accounting for midnight, checking an infusion's start but not its end, and using a difference range that includes pairs in the wrong temporal order. Also verify that time units match: a duration in minutes cannot be added directly to a time expressed in hours unless it is converted first.
One alternative to testing a single proposed schedule is to check whether any feasible schedule exists within all the windows and interval bounds. The intersection tests above are useful for simple two-time cases. For a larger schedule, constraints can be written together as inequalities and checked jointly; candidate schedules can then be screened against those inequalities. This is more reliable than adjusting one time at a time without rechecking previously satisfied constraints. Conversely, when exact times are prescribed, direct substitution is simpler than an existence calculation.
Operational feasibility is necessary for implementation, but it is not sufficient for a pharmacologically suitable regimen. A schedule can satisfy every time and facility rule yet fail a concentration or response target; it can also satisfy a model-based target while being impossible to administer under the stated operational rules. Keep these conclusions separate. This tutorial checks timing and availability constraints, not whether a feasible schedule is clinically appropriate or optimal.
Check Your Understanding
Use the stated time units and treat windows as closed. Brief solutions follow the questions.
- Administration 1 is permitted from 06:00 to 08:00, and administration 2 from 15:00 to 17:00. Is an interval of 8–10 hours feasible?
- Both administrations are permitted from 09:00 to 11:00. What positive start-to-start intervals are possible if administration 2 must occur later the same day?
- A daily schedule has administrations at 07:00 and 19:00. What is the overnight interval from 19:00 to the next day's 07:00?
- An infusion lasts 90 minutes and the resource is available from 10:00 to 13:00. What is the latest feasible infusion start time?
Solutions. (1) The pairwise difference range is \([15-8,17-6]=[7,11]\) hours. Its intersection with \([8,10]\) is nonempty, so the interval is feasible; for example, 07:00 to 15:00 gives 8 hours. (2) The all-pairs range is \([-2,2]\) hours; after requiring a strictly later second administration, possible intervals are \((0,2]\) hours. (3) On an unwrapped timeline, the next day's 07:00 is hour \(24+7=31\), so the overnight interval is \(31-19=12\) hours. (4) Convert 90 minutes to 1.5 hours. The latest start is \(13-1.5=11.5\), or 11:30; starting then ends exactly at 13:00.