Skip to main content

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.

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.

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 ≥ 0

Constraints 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.).
  • StatusOPTIMAL (best possible answer found), LOCALLY_SOLVED (best in a local region, for nonlinear problems), INFEASIBLE (no answer exists), UNBOUNDED, or TIME_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 logs are shown in a separate panel below for anyone who wants to inspect them.

Solver Result

Solver: HiGHS    Status: OPTIMAL    Objective: 8430.0000Variable Values (preview):
VariableValue
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.0000
Bake 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 resultCorrect, Incorrect, or N/A if 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.
If the supervisor isn’t confident, Feasible will automatically reformulate and re-solve, up to three times.

Self-Assessment

Result: Correct    Confidence: high    Answer: 8430.0000▸ Show reasoning

General settings

The settings can be opened by clicking on the burger icon in the top left corner.

Provider selector

Before each run, you choose which LLM provider drives the worker (drafts the formulation) and which drives the supervisor (reviews and self-evaluates). You can mix providers freely. See LLM providers and BYOK for guidance.

Thread drawer

The list of your past conversations. Filter, search, jump back to any of them. Every thread retains its full state — the formulation, solver output, and evaluation — so you can pick up where you left off, or refer back when you want to remember how you solved something last time.

API keys settings

Under Settings → API Keys, you store your own keys for any of the supported LLM providers. Keys are encrypted at rest. See BYOK.