An optimization model does not settle for a solution that looks good. It looks for one that can be proven best.

Which plant serves an order, which product a line runs, which supplier a fuel comes from. Looked at one by one, each is a reasonable decision. Taken together, they produce a combination far better than anything found by hand.

When you actually need optimization

If these three signs show up together, you have an optimization problem.

The decisions are coupled. The production plan changes the procurement decision, which changes cost, which in turn changes the production plan. That loop cannot be closed by hand.

There are too many options to try. A three-month planning exercise at MMK involved more than 4,000 open orders with an average of nine raw material candidates each. The resulting combinations ran into the hundreds of thousands.

The objectives conflict. Maximizing profit lowers demand fulfillment; raising capacity utilization creates inventory cost. Someone has to decide how much weight each objective carries, and that decision should be based on numbers.

How we work

We write the problem down first. Which decisions are being made, which constraints can never be violated, what exactly are we improving? This is usually the longest step: some of what the floor calls a rule turns out to be habit, and some real constraints are things everyone knows but nobody wrote down.

We separate hard constraints from soft ones. A kiln’s capacity cannot be exceeded, so that is a hard constraint. A safety stock level can be breached at a known cost. This distinction directly decides whether the model finds a solution at all.

We build multi-objective. A model locked to a single objective is not accepted on the floor. At Çimsa, profitability, order fulfillment and capacity utilization are weighted per scenario. At MMK the objective function is lexicographic: profit first, then the number of distinct raw materials used.

We build a scenario layer. A model is most useful when it can answer “what happens if we raise this capacity” with a number.

The methods we use

Mixed-integer programming is the backbone of most problems. We use weighting and lexicographic ordering for multi-objective work, and decomposition techniques on large problems. Our solver is IBM ILOG CPLEX. Models are written in OPL and connect directly to the database.

Handover

Our aim is for the company to run the process itself once the project ends. At Çimsa the team was trained in mathematical modelling and optimization, and the model became something they run in-house.

Hand an optimization system to a team that cannot operate it and it gets shelved within months. So we plan training into the project from the start instead of adding it at the end.

Frequently asked questions

When is optimization the right tool?

When there are too many decisions to try by hand and those decisions are coupled. A three-month production plan can hold hundreds of thousands of possibilities; rule-based systems cannot guarantee finding the best among them.

Who runs the model afterwards?

Our aim is to hand the system over. We train teams in mathematical modelling so the model can be run in-house.

Our work in this area

Çimsa

Çimsa S&OP: from global network optimization to the fuel procurement decision

We brought Çimsa's production, logistics and sales network across 15 locations into a single mixed-integer model, then built a second model that turns the resulting clinker production plan into a fuel recipe and procurement decision.

  • 10% ↓ Inventory cost
  • 3% ↓ Manufacturing, warehousing, distribution cost

Derimod

Derimod: seven projects in three layers, from data warehouse to Optail

We brought data scattered across AX ERP, Excel and CRM into a single data warehouse, built more than 20 Power BI dashboards on top, and at the top placed Optail, which makes the initial allocation, replenishment and inter-store transfer decisions. Stock analytics (lost sales, size-run breaks, idle stock) and a CRM layer followed. This page is the overview; each of the seven projects has its own page.

  • 20+ Dashboards
  • 7,000+ Optail scenarios

Turkish Basketball Federation

TBF: a decision support system for referee and evaluator assignment

We modelled the weekly referee assignment work of the Turkish Basketball Federation's Central Referee Board as a mixed-integer optimization problem that respects federation rules and fairness between referees. The system produces a proposal; the board reviews it, edits by hand where needed and commits. Evaluator assignment was added as a second problem. Since the 2026–27 season the system has been live on the federation's own server, and the board makes its referee and evaluator assignments through an authenticated web application.

  • Proposal Decision
  • 9 Hard rules

Defacto

Defacto Norm Staffing: calculating the staff each store should have, from data

A model that takes the store staffing decision away from actual payroll and subjective requests and grounds it in measured workload and an efficient peer in the same segment. It produces a 2025 norm, a 2026 target and an increase / reduce / keep decision for every store × role. It runs entirely on BigQuery and is fully parametric.

  • Store × role Decision unit
  • Frontier Reference

MMK

MMK: line balancing and order–raw material matching in flat steel production

An optimization system that matches open orders to the right raw material while respecting production line capacity and every stage of the bill of materials. Built across three phases.

  • 4,000+ Open sales orders
  • ~9 Raw material candidates per order

Gürmen Group

Gürmen MATS: moving inter-store transfers from Excel to a system that decides at SKU level

The Inter-Store Transfer System that moves products not selling in one Ramsey or Kip store to a store that sells them, before markdown. It selects receivers and senders by cover at option level, derives need from sales velocity, and matches at SKU level. Block, single-unit and split-and-spread transfers run on the same infrastructure. It sits on Gürmen's server as a SQL project, and results go to the ERP.

  • SKU Decision unit
  • Cover Receiver / sender

Derimod

Optail Initial Allocation: first distribution of new product with a master plan, store grouping and capacity

When a new product leaves the warehouse there is no sales data yet; the decision rests on similar products' history, store groups and capacity. For Derimod we built the Master Plan screen, where planning is done before and throughout the season, along with store clusters and fill and dispatch-priority management; footwear and bags went live first, then apparel. In 2026 Flow Through, open-quantity allocation and simulation are being added.

  • 3 Categories
  • Master plan Decision input

Derimod

Optail Replenishment: automatic warehouse-to-store feed for what sells

Replenishment, live since October 2024, manages the warehouse-to-store flow by rate of sale: how many weeks of cover, minimum lot, which warehouse, which store group. In the first two months two thirds of replenishment came from Optail; in 2025 it approached 95% in footwear. We measure whether every replenishment turns into sales; Optail's sell-through rate is higher than both manual replenishment and last year.

  • ~95% Automation
  • ~1.5× Sell-through

Derimod

Optail Inter-Store Transfer: size-run consolidation, out-of-collection and season-end transfers

Optail's first module. It started with block transfer in February 2024; on top came the consolidation transfer that gathers broken size runs, the out-of-collection transfer that moves product to stores that do not carry it, closing-store clear-out, and the class-based transfer that concentrates product in selling stores at season end. Transferred goods sell through within 21 days at five times the manual rate.

  • ~25% Sell-through
  • 5 Transfer types