Services
Optimization & operations research
We find the best decision under constraints with mathematical models: which plant produces what, which raw material goes to which order, which fuel is bought from where.
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