Assignment & resource allocation
The right resources. The right priorities
When demand exceeds people, machines or time, 4colors assigns work to serve the whole operation. Its algorithms weigh every combination together.
The algorithms behind best-known schedules on a public project-scheduling benchmark.
Available isn't necessarily suitable
Two technicians may both have an empty slot, but only one has the qualification a task requires. Two compute nodes may have spare processing power, but one lacks enough memory.
The most convenient assignment can create a bottleneck somewhere else.
The real challenge is matching needs to capabilities while balancing cost, time, quality and other priorities.
Five technicians, six tasks; colours are skills.
Tasks covered4 of 6
Skill mismatches0
Illustrative example, not customer data.
When assignments compete for scarce capabilities
Workforce and shift coverage
Match people to shifts and tasks using qualifications, availability, coverage needs and working rules. Fairness and preferences can matter as well as operational efficiency.
Machines, equipment and project resources
Allocate scarce machines, tools and specialist teams among competing jobs. Consider dependencies and whether an apparently free resource can actually support the work.
Computing and network capacity
Place workloads and distribute demand within processor, memory, link and service constraints. A high-utilization allocation may be worse if critical work is delayed.
From an allocation to a working plan
Assignments rarely stand alone. When the decisions interact, plan them together.
Who does the work sets when it starts
Who performs a task can change when it can begin, and the next job waits on both. Plan the assignment and the sequence as one.
Capacity is shared across a network
Placing one workload uses processor, memory and link capacity that other work needs. Allocation and network design meet here.
A worked example: staff rosters
Staffing combines assignment with qualification, fairness and availability. See how those rules shape one working week.
Where our software fits
From the solver engine to ready-made planning apps, pick the level that suits your team.
4colors Optimizer
The solver engine behind every 4colors product. A portfolio of search methods for hard planning decisions in routing, loading, scheduling and allocation, from Python or the API.
Optimizer for Scheduling
Advanced scheduling algorithms for the software you build to manage jobs, machines, people and resources. Due dates, setups and shared resources sit in one model.
Planning Applications
Takt, Roster and Stride bring optimization to production, shift and project planning. When a rush order lands or someone calls in sick, each re-plans within your rules.
Custom Optimization
Original models and algorithms built around your own resources, rules and objectives. We work with your team from the first prototype to a planner that runs in your systems.
How assignments become hard
Explore more use cases- Insight
Assignment Problems: The Art of Matching the Right Things
Some optimization problems hide behind a deceptively ordinary question: who should do what?
Read the insight - Use case
The Mathematics of a Fair and Workable Roster
Two schedules can cover every shift and still create very different weeks for the people working them.
Explore the use case - Guide
Hard and Soft Constraints: Where a Schedule Can Bend
The distinction between a rule and a preference tells an optimizer what kind of compromise is possible.
Read the guide - Insight
The Hidden Value of Defining Constraints
Before solving a planning problem, a team can discover that it has never agreed on the meaning of its own rules.
Read the insight - Insight
Why the Best Schedule May Not Be the Most Useful
A schedule can improve on paper and still disrupt the operation it was meant to help.
Read the insight
Make limited capacity go further
Discuss a resource allocation problemExplore Custom Optimization