What are optimisation problems, and why is AI visibility one of them?
Co-Founder, Geo One

An optimisation problem is any problem where you are trying to push one specific number as high or as low as it will go, by changing inputs you control, inside limits you cannot break. Getting named inside AI answers is one of them, and most businesses fail at it because they never write down which number, which inputs, or which limits.
Geo One is a Generative Engine Optimisation (GEO) and Answer Engine Optimisation (AEO) agency in Kuala Lumpur. We work mainly with Malaysian SMEs of roughly 2 to 50 staff that have no in-house marketing team.
What are optimisation problems?
The textbook definition is the one above, stated more carefully. An optimisation problem has an objective function to maximise or minimise, a set of variables that the objective depends on, and constraints on those variables.
Any set of values that respects the constraints is a feasible solution. The feasible solution that gives the best value of the objective is the optimal one. Stephen Boyd and Lieven Vandenberghe's Convex Optimization (Cambridge University Press, 2004), free to read online, sets it out in its first chapter in exactly these three parts.
That is the whole idea. Pricing a tender, rostering clinic staff, routing a delivery lorry on a Friday afternoon out of Bangsar: all optimisation problems.
Two words in that definition do more work than they look. Feasible means the answer counts. Optimal means it is the best of the ones that count. An infeasible answer with a beautiful number attached is not a near-miss. It is not an answer.
What are the three parts of an optimisation problem?
Every optimisation problem has an objective, variables and constraints. If you cannot name all three, you do not have a problem you can solve. You have a vague wish.
Take a freight forwarder in Port Klang quoting on a monthly LCL contract. The objective is margin on the account. The variables are the ones the forwarder actually sets: the rate, the free storage days, the payment terms. The constraints are set by other people: carrier costs, the client's budget ceiling, how many days the warehouse can hold cargo before it blocks the floor.
Put some illustrative numbers on it. Say carrier cost lands at RM480 per cbm, the client has told you RM600 is the ceiling, and the warehouse can absorb seven free days before the space costs more than the margin on the box. The feasible region is now visible: anything between RM480 and RM600, with free days at seven or fewer.
Quote RM590 with three free days and you may win on price and lose the account in month two, when the client's cargo sits. Quote RM460 to win the tender and you have not found a clever solution; you have left the feasible region. Change a variable and the objective moves. Break a constraint and the answer does not count, however good the number looks.
The same discipline is what is missing from most AI visibility work.
Is AI visibility actually an optimisation problem?
Yes, and it has been formalised as one. GEO: Generative Engine Optimization, by Pranjal Aggarwal and co-authors and posted to arXiv in November 2023, treats generative engine optimisation as an optimisation framework with a measurable visibility objective, broadly, how much of a generated answer a given source accounts for, rather than as a loose marketing idea.
What makes it an optimisation problem rather than a metaphor is that the objective responds to specific, controllable content changes. In that paper's controlled tests, run on one query set, against the engines available at the time, adding quotable statements, adding statistics and citing sources tended to raise visibility against an unoptimised baseline. Keyword stuffing did not.
In optimisation terms, keyword stuffing is a variable you can move in the wrong direction: effort spent making the number worse.
Treat any specific figures from that study, or from any study like it, as directional rather than as targets. They were measured on one query set, against one set of engines, at one point in time, and the engines have changed since. The structure of the finding is what transfers: some content variables move the objective up, at least one moves it down, and you cannot tell which is which without measuring.
What are the objective, variables and constraints for AI visibility?
The objective is a count, not a feeling. Write down the questions a buyer would actually type, "best dental clinic in Bangsar for crowns", "freight forwarder KL to Jakarta LCL", "accounting firm for Sdn Bhd incorporation", and the Bahasa Malaysia phrasings if your buyers use them. Thirty or forty is enough.
The objective is the number of those questions where the assistant names your business, checked on a fixed schedule across the engines your buyers actually use: ChatGPT, Gemini, Perplexity, Claude, Google's AI Overviews. It goes up or it does not.
The variables are what you can change this quarter:
- what your pages say, and how quotably they say it;
- whether your own figures, prices and sources appear on the page instead of in your head;
- your Google Business Profile;
- your schema markup;
- where else on the web your business is described, and whether those descriptions agree with each other.
The constraints are everything else. You cannot change how a model retrieves and ranks. You cannot buy a slot in an answer. You cannot publish what is not true about your business. And an owner-operator running a clinic has perhaps four hours a month for this, call it forty-eight hours a year, about six working days, against a budget competing directly with hiring.
Constraints are where most of the damage happens, in both directions. Treating a constraint as a variable, trying to game the model, produces the keyword-stuffing result above. Treating a variable as a constraint, "our website is what it is", removes the only lever you actually hold.
And an unverifiable superlative on your homepage, of the "leading clinic in Malaysia" sort, with nothing published behind it, is the marketing equivalent of quoting below carrier cost: it may look like a solution, but it is not a feasible one.
How do you actually run it?
Having the three parts written down is not the same as solving anything. The method is dull and it is the whole job.
Baseline first. Run the question set before you change anything. Without a starting count you have no way to tell improvement from noise.
Change variables in batches you can tell apart. Rewriting six service pages, adding schema and cleaning up four directory listings in the same fortnight gives you one movement and three candidate causes. Separate them by a few weeks and you learn which lever works on your site, in your category.
Hold the question set still. Adding friendlier questions mid-way is changing the objective function. The number goes up and means nothing.
Expect noise and lag. Generative engines are not deterministic: the same question asked twice can produce different sources. One scan is an anecdote; a count across repeated runs on a fixed cadence is a measurement. Content changes also take weeks to propagate into what engines retrieve, so a flat reading two weeks after a rewrite is not yet a failed experiment. We have written separately on how often AI visibility scans should run for a Malaysian SME, what our scans actually check and what a realistic year-one GEO budget costs.
Accept that you are climbing, not solving. Nobody computes the optimal website. You change a variable, re-measure, keep what moved the count, discard what did not. That is hill climbing, and it is what optimisation looks like when the objective function belongs to someone else.
Where marketing spend usually goes wrong
At the first step. The objective is stated as "more enquiries", which is not a number anyone measures, and the constraints are never written down at all.
So test any proposal, ours included, against the three parts. What single number goes up, measured how, how often? Which inputs will the work actually change? What limits is it working inside? A proposal that cannot name all three is not selling you an outcome. It is selling you activity, and activity has no optimal value.
That is also where our own work starts: a fixed question set, a baseline count, and a written list of what we can and cannot change for your business. If you want those three parts on paper before you spend anything, ask us for them.
Frequently asked questions
What is an optimisation problem in plain English?
An optimisation problem is any problem where you push one specific number as high or as low as it will go, by changing inputs you control, inside limits you cannot break. Academic work defines it the same way: an objective function to maximise or minimise, input variables it depends on, and constraints on those variables. Any solution respecting the constraints is feasible, and the best feasible one is optimal.
What do I actually need to write down before I can call something an optimisation problem?
You need an objective, variables and constraints. If you cannot name all three, you do not have a solvable problem, you have a vague wish. The objective is the number you are moving, the variables are the inputs you set yourself, and the constraints are the limits set by other people. Change a variable and the objective moves. Break a constraint and the answer does not count.
Why does my marketing spend never seem to produce a clear result?
Most marketing spend goes wrong at the first step. The objective is stated as "more enquiries", which is not a number anyone measures, and the constraints are never written down at all. Without a measurable objective, named variables you control and limits you cannot break, there is nothing to optimise against and no way to tell a good answer from an infeasible one.
Is getting named in AI answers really something you can optimise, or is that just a sales pitch?
It has been formalised as an optimisation problem in peer-reviewed research. A paper by Aggarwal and colleagues, presented at ACM KDD 2024 by researchers from Princeton, Georgia Tech, the Allen Institute for AI and IIT Delhi, defined Generative Engine Optimisation as an optimisation framework with a measurable visibility objective rather than a loose marketing idea.
Which changes to my content actually moved the needle in that research?
In the controlled tests, adding quotations to content scored 27.2 on the visibility index against an unoptimised baseline of 19.3. Adding statistics scored 25.4 and citing sources scored 25.0. Keyword stuffing scored 17.7, which sits below the baseline, so in optimisation terms that variable moved the objective the wrong way.
Can you give me a business example of objective, variables and constraints?
Take a freight forwarder in Port Klang quoting on a monthly LCL contract. The objective is margin on the account. The variables are what the forwarder sets: the rate, the free storage days, the payment terms. The constraints come from other people: carrier costs, the client's budget ceiling, and how many days the warehouse can hold cargo before it blocks the floor. A rate below carrier cost is infeasible, not clever.

Bernard Leong
Co-Founder, Geo One
Nearly 20 years across energy, capital strategy and applied AI, including large-scale operational data at BP. Founded SkillsMe and Cryptrain.
More about the teamCheck Your AI Visibility
See how AI platforms currently view your business with a free scan.
Free AI Scan