The Feasible app is a chat interface with live side panels that fill in as the agent works. You don’t need to know any optimization vocabulary to use it — the panels are there so you can watch what’s happening and step in if something looks wrong. This page walks through every surface you’ll see. The sketches below are illustrative — your screen will look nicer, with proper styling and live updates as the agent works.Documentation Index
Fetch the complete documentation index at: https://feasible-1447f9c5.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Conversation pane
The main column. You type your problem here, and Feasible replies. Messages render as rich text — tables, math (LaTeX), and code blocks all look the way you’d expect. This is also where the agent asks clarifying questions when it’s unsure about something. You answer in the same chat; the workflow picks up where it left off. Nothing you’ve done so far is lost.Conversation
You: A bakery makes bread, croissants, and cakes. Capacity is 80 oven-hours/week…Feasible: Quick question before I start: should production be in whole batches, or can it be fractional? That changes whether this is an LP or an MIP.You: Whole batches.Feasible: Got it — modeling as an integer program. Building now…
Model state panel
The model state panel is filled as the workflow progresses, with structured information about the model being built.Variables panel
Lists every quantity the agent decided to let the optimizer choose. Each row shows the variable’s name, a short description, the index sets it’s defined over (e.g. one variable per product per week), and the bounds it’s allowed to take. You read this panel to confirm the agent is solving the problem you meant — for example, that it introduced an inventory variable per product per week, not just one per product.Variables (4)
produce Batches produced of each product each week produce_{p, w} integer ≥ 0inventory End-of-week inventory of each product inventory_{p, w} integer ≥ 0Constraints panel
Lists every rule the answer must obey, grouped by purpose. Each group has a name, a short plain-English explanation, and a count of how many individual constraints it expands to (one per product per week, for example). Click a group to see the underlying mathematical expressions. You read this panel to spot mistakes. If a group’s explanation doesn’t match how you’d describe the rule, you can ask Feasible to revise it by name in the chat — “the oven capacity constraint is wrong, the cap is 80 hours per week, not per day.”Constraints (9)
▸ Inventory balance
3 Inventory at end of week = previous + produced − demand.▾ Oven capacity 4
Total oven-hours used per week is at most 80.
0.5*produce[bread,w1] + 0.3*produce[croissants,w1] + 1.2*produce[cakes,w1] <= 80
0.5*produce[bread,w2] + 0.3*produce[croissants,w2] + 1.2*produce[cakes,w2] <= 80
…▸ Non-negativity 2 No negative production or inventory.Objective panel
Shows what’s being minimized or maximized — both as a sentence (“minimize total cost: production cost plus holding cost”) and as the underlying expression. If your problem is a feasibility check (just “find any answer that obeys the rules” — like a puzzle), this panel says “no objective.”Objective
MIN Minimize total cost: production cost plus holding cost.
sum_{p,t} cost[p] * produce[p,t] + 2 * inventory[p,t]Solver result panel
Shows what the solver did once the formulation was ready:- Solver — which solver was used (HiGHS, Ipopt, etc.).
- Status —
OPTIMAL(best possible answer found),LOCALLY_SOLVED(best in a local region, for nonlinear problems),INFEASIBLE(no answer exists),UNBOUNDED, orTIME_LIMIT. - Objective — the number being minimized or maximized, if there is one.
- Variable values — a preview of the values the solver assigned to each decision variable. A Download JSON button next to the title gives you the full result for offline inspection.
Solver Result
Solver: HiGHS Status:
OPTIMAL Objective: 8430.0000Variable Values (preview):| Variable | Value |
|---|---|
produce[bread, w1] | 22.0000 |
produce[croissants, w1] | 15.0000 |
produce[cakes, w1] | 9.0000 |
Answer panel
The agent’s structured plain-language answer. This is usually what you actually want — the numbers from the solver translated back into a sentence that answers your original question. You’ll see:- A status badge mirroring the solver outcome.
- The objective value, if there is one.
- A prose answer highlighting the main result.
- A short interpretation of what that objective number means in context.
- An expandable list of key decisions the optimizer made.
Answer
Status:
OPTIMAL Objective: 8430.0000Bake 22 batches of bread, 15 of croissants, and 9 of cakes in week 1, then taper production over the following weeks while drawing down inventory.Total cost over four weeks: $8,430 — production cost plus holding cost.▾ Show 5 key decisions
- Produce 22 bread in week 1
- Produce 15 croissants in week 1
- Produce 9 cakes in week 1
Self-Assessment panel
Feasible’s self-check. After the answer is ready, the supervisor re-reads the original problem and decides whether the formulation and result are consistent. You see:- A result —
Correct,Incorrect, orN/Aif self-assessment was skipped. - A confidence level — high, medium, or low.
- The numeric answer the supervisor settled on, when applicable.
- An expandable reasoning block describing what was checked and any concerns.
Self-Assessment
Result:
Correct Confidence: high Answer: 8430.0000▸ Show reasoning
