Insight

Can't Our Developers Just Build This?

When to build optimization software yourself, when to use an existing solver, and when specialist expertise is worth bringing in.

A capable engineering team can build a useful optimization system, particularly when a problem is well understood and established software already provides the algorithms it needs. The interesting question is which parts the team should build itself. Many successful planning tools began as spreadsheets, scripts or modest applications developed by people close to the operation. There is no reason to replace a solution that works merely because a more sophisticated one exists.

The more interesting question is what, exactly, the team would be building. A user interface for creating schedules is one project. Turning business rules into a mathematical model is another. Finding good solutions quickly, under difficult constraints, is a third. Making the whole system reliable enough for everyday operations brings additional challenges. These parts can be built together, but they require different skills, and the cost of each becomes clearer when considered separately.

It depends on the operation, not the sophistication of the software interface.

Start with the problem, not the software

A small team assigning a handful of weekly shifts may need little more than clear rules and a reliable spreadsheet. The same organization, a few years later, might need to account for qualifications, availability, minimum rest periods, changing demand and employee preferences. At that point, the difficulty is less about displaying a schedule than finding one that respects all the requirements.

It helps to distinguish making a feasible plan from finding a good one. A feasible plan satisfies the rules. A good plan also performs well against objectives such as cost, lateness, fairness or resource utilization. The difference may be small for simple problems and substantial for complex ones. It depends on the operation, not the sophistication of the software interface.

Before choosing a technology, define what success looks like. What decisions can change? Which requirements are nonnegotiable? How quickly must a result be available? Is a solution needed once a month, several times a day or whenever conditions change? These answers tell you more about the right technical approach than a feature checklist does.

Three sensible ways forward

Build with existing tools. If the model is established and performance is satisfactory, open-source optimization libraries or standard commercial solvers can make an excellent foundation. Your developers retain control over the application, data and user experience. This is often the most practical starting point.

Use a specialist product. When there is a strong fit between a problem and an existing optimization service, a product can reduce the amount of solver engineering and maintenance the team needs to own. Evaluate the supported constraints, performance, interface, deployment requirements and ongoing cost. A promising demonstration is not a substitute for a test on representative data.

The difficult part of optimization is not always building the application. It is knowing what makes one valid answer better than another, then finding it in time to be useful.

Develop something tailored. Some problems resist standard formulations, involve unusual operational rules or need performance beyond what a general approach provides. In those cases, adapting an existing solver or developing specialized algorithms may be worthwhile. It is often a collaborative effort: domain experts know the operation, internal developers know the systems, and optimization specialists contribute modeling and algorithm expertise.

ApproachOften a good fit whenMain responsibility to consider
Build internallyRequirements are clear and existing tools perform wellModeling, maintenance and performance testing
Integrate a solver productSupported problem class and predictable integration needsEvaluating fit, data flow and service dependencies
Tailor the solutionUnusual constraints, scale or performance requirementsJoint discovery, technical development and validation

The hidden work is often in the model

A solver can only optimize what the model describes. In practice, organizations may disagree about the real objective or discover that rules described as fixed are actually preferences. A planner may want the fewest changeovers; a delivery manager may care most about due dates; finance may favor lower operating costs. All three are legitimate, but they are not necessarily the same goal.

Record not only the quality of solutions, but also modeling effort, integration burden, operational reliability and the work needed to maintain the system.

Modeling helps make those tradeoffs visible. It may expose missing data, contradictory rules or assumptions that have never been tested. Even if the final solution uses familiar software, working through these questions can improve how the organization makes decisions. This is also why buying an optimization product does not eliminate the need for internal expertise.

What would make specialist optimization worthwhile?

Look for evidence of a real gap. Perhaps planners spend hours repairing schedules after every disruption. Perhaps a working solver can find valid answers but takes too long, or consistently leaves valuable capacity unused. Perhaps new constraints have made a once-simple problem difficult to maintain. These are reasons to investigate, not proof that a different solver will outperform the current one.

A sensible evaluation uses representative instances, agreed objectives and clear time limits. Keep the existing approach as a baseline. Record not only the quality of solutions, but also modeling effort, integration burden, operational reliability and the work needed to maintain the system. A faster algorithm is valuable only if it improves something that matters.

The answer may be a combination

Many organizations will arrive at a hybrid approach. Their developers build and own the application, an external solver handles a difficult computational step, and specialist support is used when modeling or performance becomes challenging. Others will find that their current open-source solution is already sufficient. Both are good outcomes when backed by evidence.

At 4colors, this is how we prefer to begin the conversation: with the problem rather than a predetermined solution. Our products are an option where they fit; tailored optimization is another when they do not. The objective is not to make every organization depend on an outside team. It is to help them choose an approach that works.