We study a scheduling problem where tasks share a limited renewable resource over time (e.g., workers, machines, energy). Time is discretized into slots $t\in\mathcal{T}=\{1,\dots,T\}$, and the available capacity may vary with time, denoted by $m_t$.
Each task must run without interruption: once it starts, it cannot be interrupted (non-preemptive), and it must be executed within its time window. In the classical cumulative scheduling setting, tasks have a fixed duration and a fixed resource usage, and the problem can be handled by time-indexed MILP or constraint programming~\cite{baptiste2001,carlier2000}.
Here, we focus on a more flexible variant where a task must complete a fixed amount of work, but can choose its resource usage during execution. Higher usage finishes the task faster, lower usage finishes it slower, but the execution remains non-preemptive. Combined with time-varying capacity, this coupling makes standard time-indexed formulations large.
We therefore use a column generation approach~\cite{lubbecke2005} in which each column represents a feasible execution pattern. The master problem selects one pattern per task and enforces capacity; pricing generates new patterns guided by dual variables.

