The Solver: What It Does and How It Can Mislead You
A solver takes a problem exactly as it was typed and returns the best plan for that problem. The solver never sees the workshop. Every answer it gives inherits whatever was left out, pointed the wrong way, or typed with one character wrong, and it reports all of them in the same confident tone. At the Amaltas workshop three separate mistakes each produce an answer labelled optimal.
The Amaltas workshop, an invented maker of wooden crates, makes two things and nothing else: the plain crate and the lined crate. Three limits govern its day. The board delivery is 20 a day, of which a plain crate eats one and a lined crate eats two. The bench allowance is 22 bench hoursOne hour of one bench with a person working at it. Three benches over an eight hour day give 24, and the Amaltas workshop puts two back for setting up, leaving 22., of which a plain crate eats two and a lined crate eats one. Cloth arrives at 8 rolls, and a plain crate needs none of it while every lined crate needs a roll. ContributionWhat one crate adds to the day once the things used up in making that one crate are paid for. Contribution is settled separately. runs at Rs 300/- for a plain crate against Rs 450/- for a lined one, and under all of that the best plan the Amaltas workshop can actually run comes to 8 plain and 6 lined, at Rs 5,100/- a day.
The best plan of 8 plain and 6 lined is settled elsewhere. The plan serves one purpose here: it is the yardstick. Every answer below gets held against Rs 5,100/- a day, and the distance from it is what the mistake cost. Counts are in whole cratesCrates come one at a time, so a plan of eight and a half is not a plan anybody can hand over. Every count is a whole number of crates. throughout, because half a crate is not something the Amaltas workshop can hand to anybody.
What does a solver actually do?
A solver reads three lists and returns one thing. The first list is the decision variablesThe quantities that may be chosen. Two of them here: the number of plain crates for the day, and the number of lined ones., the quantities it is allowed to choose. The second is the objective, the single expression it is told to make as large or as small as possible. The third is the rules, each one a piece of arithmetic on those same quantities with a limit attached. Out comes a value for every decision, chosen so that the objective is at its best while every rule in its list holds.
The three lists are the entire world as far as a solver is concerned, and the Amaltas workshop is not in them. The solver has never walked into the workshop. The solver does not know what a board is, what cloth is for, or that a bench cannot be in two places at once. The machine is holding two letters, an expression and a handful of inequalities. Everything that is true about the workshop and absent from those lists is, to the solver, simply not true.
The everyday version runs like this. Somebody is handed a shopping list and the cash, and comes back with exactly what was written on it. If milk was missing from the list, no amount of care on their part puts milk in the bag. The shopper was not careless. The shopper was completely accurate about a list that was wrong, and there is nothing in the bag that says which.
What does a solver see of the Amaltas workshop itself?
What does the word optimal claim when a solver prints it?
Every solver ends its run with a status word, and on a good run that word is optimal. Almost everybody reads that word as more than it is, and it is worth being exact about what has just been claimed. The word optimal says that the arithmetic reached a stopping condition on the problem it was handed, and it makes no claim whatever about whether that problem describes the Amaltas workshop. The status word reports on a calculation. The status word does not report on a model.
Take a calculator that adds up the wrong shopping list. The calculator returns the right total. The total it produced belongs to a list nobody wanted, so the calculator is not lying, not broken, and not helping either. The status word optimal is the calculator saying the addition went through. No second word says the list was right, and no second word could. Whoever would have to check the list is standing in the workshop rather than inside the machine.
Three wrong answers follow. All three came back marked optimal, in the same tone, in the same place on the screen, and there is nothing in the printed output of any of them that distinguishes them from the one right answer.
A solver finishes a run and prints optimal. What exactly has it claimed?
What happens when the objective is pointed the wrong way?
The first mistake is the smallest one anybody can make. The objective at the Amaltas workshop adds Rs 300/- for every plain crate to Rs 450/- for every lined one, and the workshop wants that total as large as it can be. Suppose it goes in as something to be made as small as possible instead. Nothing else changes. All three rules are typed correctly, both contribution figures are right, and the run finishes in the usual fraction of a second.
The answer that comes back is no plain crates and no lined crates. Rs 0/- a day. Status: optimal. The answer is exactly right for the question asked, it breaks no rule at all, and it costs the Amaltas workshop the whole Rs 5,100/- a day the best allowed plan would have made. Making nothing uses no boards, no bench hours and no cloth, so every rule holds comfortably, and Rs 0/- really is the smallest value that expression can take over the plans the rules allow.
Look at where that answer sits. The plan with no crates sits on a cornerA point where two of the boundary lines cross and the region of allowed plans turns. The plans that come back from a solver land on corners far more often than anywhere else. of exactly the same region of allowed plans that produced Rs 5,100/-. The region did not change. The rules did not change. Only the direction the objective was pointed in changed, and the answer travelled from one end of the region to the other. Nothing in the printed output says which way round the question was, so the reader has no way to tell a minimising run from a maximising one by looking at the answer.
The solver returns no crates at all and reports Rs 0/- a day. Is the solver broken?
What happens when a rule is never typed in?
The second mistake is the one that costs money in the world rather than on paper. Everything about the Amaltas workshop is typed in correctly except that the bench hours limit never gets written down at all. Boards at most 20, cloth at most 8, and no mention anywhere of the 22 hours. A missing rule is not an exotic error. A rule that lives in somebody's head, or in a different spreadsheet, or in the sentence a supervisor said out loud on Tuesday, is a rule the solver has never heard of. The bench hours are also the worst rule to lose. The bench hours are one of the two limits that bindA rule binds when the plan uses every last unit it allows, with nothing to spare. A rule with room left over is doing no work at that plan. at the best allowed plan. The best allowed plan uses all 20 boards and all 22 hours and leaves two rolls of cloth on the rack.
Run it and the answer is 20 plain crates and no lined crates, reported at Rs 6,000/- a day. Every step of the damage can be checked by hand. Take it slowly. The plan calls for 40 bench hours and 22 is all the Amaltas workshop has, a shortfall of 18 hours, or 81.82 per cent over. The reported figure of Rs 6,000/- sits 17.65 per cent above Rs 5,100/-, the best the workshop can actually reach, and no arrangement of the benches makes up the difference.
Now run the plan anyway. A workshop given a plan runs it. Two bench hours a crate, twenty crates, so 40 hours are wanted and 22 exist. The hours give out on the eleventh crate. The day delivers 11 plain crates and Rs 3,300/-, or 35.29 per cent below the best allowed plan. A run that promised more than the workshop could reach ended up delivering a third less than it could have had. Reported Rs 6,000/-, delivered Rs 3,300/-, and the gap between those two figures is Rs 2,700/- a day.
The cost worth naming is not the Rs 2,700/- that was never available in the first place. The loss is Rs 1,800/- a day: the difference between the Rs 5,100/- the Amaltas workshop could have made by running its best allowed plan and the Rs 3,300/- it actually made by running a plan built on hours that do not exist.
The reported figure is Rs 6,000/- a day and the plan needs 40 bench hours against the 22 that exist. What does the Amaltas workshop actually get?
The bench hours limit entered into the solver can be raised while the workshop's real limit stays at 22. Does the gap between what is reported and what is delivered open suddenly at some setting, or open early and keep widening?
Raise the bench hours the solver was told about, and watch the workshop stay where it is.
One control. The slider moves the bench hours limit entered into the solver from 22 up to 40. The Amaltas workshop's real limit never moves: it stays at 22 and is drawn as a fixed dashed line, along with the true region of allowed plans in a heavy outline. As the control slides, the region the solver was given grows past the real one, the plan it returns walks out of the workshop, the two bars rescale, and the note under the bars names whichever real limit gives out first. The default of 40 reproduces the run above exactly, at Rs 6,000/- reported and Rs 3,300/- delivered.
Two things in that panel are worth stopping on. The first is that the gap opens early and then keeps widening. The gap is Rs 0/- while the entered figure is 22, 23 or 24. The plan those settings return is still one the Amaltas workshop can run. From 25 it opens to Rs 600/-, and by 40 it has reached Rs 2,700/-. No setting exists at which the error announces itself, and that is exactly why a small typing mistake feels safe. The second is the strip along the foot: the status word is the same at every setting, and it is the same word that sat above the one right answer.
What happens when one character of a rule is wrong?
The third mistake is a single character. The board rule should read at most 20 boards. The rule gets typed as at least 20 boards. Everything else is correct, both other rules are there, and the objective points the right way.
The run might be expected to fall over, and it does not. The bench hours rule and the cloth rule still hold the problem shut from the other side, so there is still a small region of plans that satisfy all three rules as typed. The small region sits on the far side of the same boundary lineThe line where a rule is met exactly, with nothing to spare. Every rule draws one, and the allowed plans sit on one side of it., and the solver finds the best plan inside it: 7 plain crates and 8 lined crates, reported at Rs 5,700/- a day. The plan needs 23 boards against the 20 that arrive. Rs 5,700/- and a plan of 7 and 8 look completely reasonable, and that reasonable look makes this the most dangerous of the three mistakes.
Compare the three. No crates at all is visibly odd, and somebody will query it. Twenty plain crates and nothing else is odd enough that a supervisor might ask about the benches. Seven plain and eight lined at Rs 5,700/- looks exactly like the sort of answer the Amaltas workshop was hoping for, sitting a believable distance above the Rs 5,100/- everybody half expected. Only counting the boards catches it: 7 plus twice 8 is 23, and 20 arrive. And a plausible wrong answer is the one that travels, because nobody stops it on its way out of the room.
One character turns at most 20 boards into at least 20 boards. Why is that the most dangerous of the three mistakes above?
Can a solver be right and the report still be wrong?
Everything gets typed in correctly. The solver returns 8 plain crates and 6 lined crates and prints 5100.000000. The plan and the figure are both right, and the arithmetic behind them is beyond argument. Then somebody writes the sentence that carries the number out of the room, and the sentence reads: the best plan makes the Amaltas workshop a profit of Rs 5,100/- a day.
It does not. Rs 5,100/- is contribution. Contribution is what the crates add once the things used up in making those particular crates are paid for, and it sits above the standing costsThe Rs 4,300/- a day the Amaltas workshop pays whatever it makes: the standing order of 20 boards at Rs 120/- each, which is Rs 2,400/-, plus Rs 1,900/- of rent and wages.. The standing costs run to Rs 4,300/- a day and stay there whatever gets made. Take them out of Rs 5,100/- and the day is really worth Rs 800/-.
Calling Rs 5,100/- the day's profit overstates a day worth Rs 800/- by Rs 4,300/-, an overstatement of 537.50 per cent. The arithmetic was never wrong. The label was. And a solver cannot check a label. The solver was never told what the expression it was maximising is called; it was handed 300 and 450 and two letters, and it did what it was asked with them.
The solver printed 5100.000000 and the report around it called that figure the day's profit. Where is the error?
What are the six decimals worth?
Look at that printed figure again: 5100.000000. Six decimal places, so the figure appears to be known to a hundredth of a paisa. Now look at what went into it. The contribution figures were Rs 300/- and Rs 450/-, and those were quoted to the nearest ten rupees, so each of them could be as much as five rupees away from the truth.
Move both of them as far as that rounding allows, in the directions that pull against each other: the plain crate priced at Rs 295/- and the lined one at Rs 455/-. Run it again. The plan does not move at all, still 8 plain crates and 6 lined crates. The printed figure moves to Rs 5,090/-. In fact the plan holds anywhere in that whole box: for every pair of contribution figures within five rupees of Rs 300/- and Rs 450/-, the best allowed plan is 8 plain and 6 lined and nothing else. The printed figure over the same box runs anywhere from Rs 5,030/- to Rs 5,170/-, a spread of Rs 140/-.
So the plan was the sturdy part of that output and the last four decimals of Rs 5,100/- were never real. Six decimals are a fact about the sum. Six decimals say nothing whatever about the two figures that went into the sum. Exactness measures the arithmetic and wrongness measures the inputs, and a sum can be exact and badly wrong at the same time. The habit worth carrying away is this: a decimal place in an output is a prompt to count the decimal places in the inputs.
Moving the contributions to Rs 295/- and Rs 455/- leaves the plan at 8 plain and 6 lined while the printed figure moves to Rs 5,090/-. What does that show?
What did the same workshop day look like through four runs?
The four runs sit side by side, on one day at the Amaltas workshop, with the same five questions asked of each: what was typed, what plan came back, what figure was reported, what that plan needs, and what the workshop actually gets. The last column read against the second last one is where the whole argument lives.
| What was typed | Plan returned | Reported | What the plan needs | What the workshop gets |
|---|---|---|---|---|
| The objective reversed, made as small as possible | 0 plain, 0 lined | Rs 0/- | Nothing at all | Rs 0/- |
| The bench hours rule missing | 20 plain, 0 lined | Rs 6,000/- | 40 bench hours against 22 | Rs 3,300/- |
| The board rule typed at least 20 rather than at most 20 | 7 plain, 8 lined | Rs 5,700/- | 23 boards against 20 | Rs 4,800/- |
| Everything typed correctly | 8 plain, 6 lined | Rs 5,100/- | 20 boards and 22 hours, both of which arrive | Rs 800/- once the Rs 4,300/- is paid |
Every row of that table carried the word optimal, and three of the four reported figures were never available to the Amaltas workshop. The third row is worth one more look. Told to make 7 plain and 8 lined, the workshop makes the 8 lined crates first. The lined crates take 16 of the 20 boards, and 4 plain crates come out of the 4 boards left. Four plain and eight lined is worth Rs 4,800/-, so a reported Rs 5,700/- delivered Rs 4,800/-, and the workshop was Rs 300/- a day worse off than if the rule had been typed correctly.
So what is there left to check, if the arithmetic is never wrong?
Gather up what the four runs have in common. In every single one of them the solver did its arithmetic correctly. Not one of the three wrong answers came from a bug, a rounding fault or a machine having a bad day. Each one came from a problem that was described to it slightly wrongly, and each one was reported in the same words as the right one.
A solver cannot be checked by checking its arithmetic, the part it never gets wrong. A solver is checked by checking the problem it was handed and the sentence somebody wrote around its answer. The shape of that checking is unfamiliar. No sum gets redone. The work is reading three lists against a workshop, and reading one sentence against the number in it.
None of this is an argument against solvers. A solver will search a region of plans that no person could walk through by hand, without tiring and without favouring the plan somebody thought of first, and it will do it again tomorrow with a changed limit in a fraction of a second. A search like that is worth having. The point is narrower and it is this: the machine is accountable for the arithmetic, and the person who set the problem up is accountable for the problem.
The six checks, before a solver's answer is repeated to anybody
Somebody lending against a production plan, somebody valuing a day of output, and a supervisor deciding what to promise a customer all arrive at the same moment: a plan and a figure land on the desk, and both came out of a machine that never saw the place. Six questions cover it, they run in this order, and together they take ten minutes:
| The check | What it would have caught here |
|---|---|
| 1. Which direction was the objective pointed, larger or smaller? | The reversed run, at Rs 0/- a day |
| 2. Which rules are in the list, and which known ones are not? | The missing bench hours rule |
| 3. What does the plan consume of every limited thing, and does that much arrive? | Both the 40 hours against 22 and the 23 boards against 20 |
| 4. Is every rule the right way round, at most against at least? | The flipped board rule |
| 5. What is the figure called in the sentence around it, and is it that? | Rs 5,100/- of contribution called profit |
| 6. How good were the inputs, against how many decimals came out? | The six decimals on figures rounded to the nearest ten |
On its own, check three catches two of the three wrong answers above. Check three is the one to build a habit around. Adding up what the plan consumes of every limited thing and holding each total against what actually arrives needs no software and needs nobody to explain the model, and skipping it is what allows a wrong answer to travel.
Which single check would have caught two of the three wrong answers above?
The reviewer who repeated Rs 6,000/- because the status line said optimal
A reviewer at the Amaltas workshop is handed the run with the bench hours rule missing. The status line reads optimal. The reviewer spot checks the arithmetic on the plan, and it holds: 20 plain crates at Rs 300/- each really is Rs 6,000/-, and 20 boards really is within the 20 that arrive. So the figure goes into the note that goes to the people who plan the week, and the Amaltas workshop commits to a deliveryAn order the workshop has agreed to hand over on a stated day. Once it is agreed, the other side has planned around it, and missing it costs more than the crates. built on 20 plain crates a day.
On the first morning the benches give out at the eleventh crate. The day delivers Rs 3,300/-. The money lost is not the Rs 2,700/- that was never there; it is the Rs 1,800/- a day the Amaltas workshop gave up by planning around a plan it could not make, and on top of that a delivery promise it now has to go back and unwind. Had it simply run its best allowed plan it would have made Rs 5,100/- a day and promised nothing it could not hand over.
The reviewer did not do anything careless. The reviewer checked the arithmetic, found it correct, and then repeated a figure that belonged to a problem the workshop does not have. The fix is mechanical and takes ten minutes: before repeating any solver answer, add up what the plan consumes of every limited thing and check each total against what actually arrives. Twenty plain crates need 40 bench hours; 22 arrive. One line of that kind, written before the note went out, catches the missing rule, the flipped rule and the reversed objective all at once.
What is treated elsewhere. How a solver searches is a subject of its own, and none of the four answers above needs an algorithm to be seen going wrong. Why a search can stop at a point better than everything beside it and worse than something further away is covered separately, along with what shape a problem must have for such a stop to be safe. A plan that breaks a limit by a little still delivers something, and what it delivers is treated on its own, as is the money value of one extra board or one extra hour at the bench. Working out how much of a collection of holdings to put into each one, balancing risk against return, is a wholly separate subject and sits under portfolio construction and investment management.
What sits behind each figure printed here, and what does not?
| Number printed above | The calculation that produced it | Public record behind it | Date last worked through |
|---|---|---|---|
| Rs 0/- from the reversed objective | The smallest value of 300 times plain plus 450 times lined over the plans the three rules allow, which is the plan with no crates at all | None. The plan with no crates uses nothing at all | 23 August 2026 |
| Rs 6,000/- with the bench hours rule left out | The best plan under the board rule and the cloth rule alone, compared over every whole crate plan those two allow | None. Twenty plain crates at Rs 300/- each | 23 August 2026 |
| Rs 3,300/- delivered, and 11 plain crates | Twenty plain crates started and stopped when the real 22 bench hours ran out, at two hours a crate | None. Twenty two divided by two | 23 August 2026 |
| Rs 5,700/- on 23 boards | The best plan when the board rule is read as at least 20, taken over the three corners that survive that reading | None. Seven plus twice eight is 23 | 23 August 2026 |
| 81.82, 17.65, 35.29 and 537.50 per cent | Each one divided out once from two exact rupee figures, never from figures that had already been rounded | None. Each is one division | 23 August 2026 |
| Rs 800/- once the Rs 4,300/- is paid | Rs 5,100/- of contribution less the standing board order of Rs 2,400/- and Rs 1,900/- of rent and wages | None. One subtraction | 23 August 2026 |
| Rs 5,030/- to Rs 5,170/-, and Rs 5,090/- | The same comparison run again for every pair of contribution figures within five rupees of Rs 300/- and Rs 450/- | None. The plan holds across the whole box | 23 August 2026 |
The Amaltas workshop is invented.
Educational material. Not advice on any investment, tax, budget or market position.
