Theory of Constraints Introduction

yes

constraint = bottleneck = limiting factor

For bottlenecks, it can help to consider just pouring in a huge amount of water (or trying to produce a huge amount of products from a factory). If you pour way more water in the top than will flow through anytime soon, then you can figure out which part is limiting the rate the water flows through.

Ok, but I answered kinda to that question.

Conflict Resolution why did I think the answer was kinda?

Conflict Resolution:

z or ā€œthe goalā€: know why TOC focusing steps are called ā€œfocusing steps.ā€

x: I thought because TOC is about working on the 1% of key issues and that focusing steps is about making improvements, I thought we were focusing on important issues

y: I thought ā€œfocusing stepsā€ means we’re focusing on the right thing. Like, we’re focusing on key issues.

w: I thought ā€œfocusing stepsā€ was just about making improvements, so we’re focusing on making improvements

u: I thought that ā€œfocusing stepsā€ wasn’t related to the important issues cuz it wasn’t brought up. If it’s not brought up then it’s a reach to think that. Why? I don’t know. I’m not used to making long connections like that

v: I thought that ā€œfocusing stepsā€ was talking about the actual steps and nothing else. I didn’t want to jump ahead and bring up the 1 percent of key issues. Why? Cuz it’s hard to know if I’m hard with stuff like that.

ok for limiting factor, I’m thinking it’s equal to limiting part of the system. I’m gonna look again at a past post about factors in a system to be more familiar with them.

Ok, in the Marris Consulting example the spouts are parts of the system, they let water through. The system is something… I forgot. I want to say a part of the system is synonymous to a factor in a system. I think I need more practice with these words and expressing them.

Things to practice:

  • Use words like constraint, limiting factor, part of a system more in my vocabulary.
  • Identify parts of a system when thinking and doing stuff daily
  • Identify factors in a system when thinking
  • Use the same definition of limiting as in ā€œlimiting factorā€ to get a good idea of what a limiting factor looks like
  • Replace limiting factor when I find it with bottlekneck or constraint so I can recall those being the same quicker.
  • Get better at making examples to practice and show my understanding
  • Know how to find if words are synomous or have some differences or maybe that they can overlap
  • Know what is a part of the system or factor in the marris consulting system.
  • Know what a system is and how to talk about one
  • Know how talking about a system is relating to talking about its factors or parts

Below is what I wrote in a hurry so sorry for mistakes:

First sentence of your quote talks about how to think about bottleknecks to understand them. It talks about what example to think of that will help. The part in parantheses is another example to think of. They’re very similar. You’re moving resources to a goal at the end.

The first clause of the second sentence talks about something to look out for. It’s also what to think of when considering pouring a huge amount of water. There’s also measurements involved I think. At least numbers, cuz how would you know that there’s more water from the top coming in than coming out of the bottom. Something important tho I think is the part of the first clause that talks about water flowing through. Like, you initially pour a lot of water and there’s way more there than will flow through the system. That will help you find the bottkneck or think about finding the bottlekneck I think.

The second clause of the last sentence looks like you’re looking at parts of the system. One of those parts has got to be the limiting factor. The clause also talks about you looking at the rate of the water flowing through. I think if you know what the rate the water flows through is and what parts of a system is and that a part is limiting that rate then you can find the bottlekneck.

Edit: in the conflict resolution i made, on letter v the last sentence, I meant to say: it’s hard to know if im right. I was thinking too much about difficulty and wrote the sentence wrong. Mb

My following reply is me writing it with low energy, but I will follow up with what I think I could work on after writing a section:

Optimizing seems like it means make the constraint better or make things better for it. I don’t see that happen that much but I notice it when I play Marvel Rivals. It happened yesterday where I was messing up the enemy team as a dps hero and then the enemy diver changed up his strat kind of and it started working out for his team. I wonder what he optimize to win them the game or if I even have to think about that to win.

Stay focused sounds intersting. I bet it’s talking about staying focused on the key issues don’t focus on working on stuff that has excess capacity. The same sentence about staying focused also says don’t optimize other parts that don’t need it i think. That right there is improving stuff that already is probably enough. It’s like you already found your constraint why are you focusing away from it?

What I could work on
  • Use apostrophes more to show that im quoting something from the block quote. Also I should look at the forum rules about this. I remember there was something important about using double quotes.
  • For my first paragraph the last sentence I should work on using commas more so it doesn’t look like im chunking too many things together
  • For the second sentence of the second paragraph I should try to learn when I separate stuff by commas, periods, or semicolons more so I could make good judgements about that.

That seems like taking the whole system into account. Like, you’re looking at the bigger picture i think. If a certain part of the system makes stuff at a certain rate when will the constraint receive that? when can the constraint start working? It all makes me think of the Marris Consulting example and being advised to not look at stuff individually.

Also, I see the first clause say if you need futher improvment. That means that you can improve your system and maybe not get all the desired results that you wanted? I wonder if it’s bad that you need further improvement after you already tried to improve stuff.

What I could work on:
  • Instead of saying ā€œThatā€ in my first sentence above, I could say maybe the second clause
  • The first paragraph of this section, I was trying to recall the idea about looking at stuff individually and trying to relate that idea to optimizing the constraint further. It was hard. I didn’t know how to remember and phrase things well
  • Maybe work on spelling mistakes, like why do they happen sometimes? Is it really a thing to focus on?

It’s hard to visualize this. I want to relate this to the marris consulting example cuz I like that example. How would other parts make it hard for the constraint in that example? I was thinking that it would have to interfere with the middle spout passing water. Idk

What I could work on:
  • Work on capatilizing proper noun stuff to be consistent.
  • When I can’t figure stuff out use a brainstorm to get some ideas out

That’s interesting. Even tho we found the constraint that doesn’t mean it’s all on it. Like, a part of the system can give the constraint a lot of work to do. If the constraint works at a certain rate and has a lot to do then it has a big burden I think. I think another way is to not give the constraint enough to do maybe?? I don’t that’s right. Maybe the constraint is only working a few hours a day but can work at other hours too.

What I could work on:
  • work on using references more intuitively like keep track of a reference when I use it. If i use more than once just use the actual word instead.

  • work on making sure I write verbs for every sentence like on the second to last I forgot to write ā€œthinkā€

You say improve further and need further improvement in above quoted paragraph and the one before. What’s the first way to optimize the constraint then? In the second paragraph of the Focusing Steps section it says to then optimize the constraint. i probably have to watch the video to get more info. If I remember correctly, you wanna make stuff for the constraint easier first before increasing its capacity.

In the Marris Consulting example increasing the capacity of the constraint would be to increase the size of the middle faucet. Maybe there’s other ways.

What I could work on:
  • When I say ā€œthis source says somethingā€ should I use double quotes there to show exactly what they say? Or can it be in my own words?
  • I need to work on using commas more after using prepositional phrases in a. sentence. I messed up i think in the last paragraph first sentence.

I wonder why it’s more efficient to make other changes first. When I play Marvel Rivals, I focus on increasing the capacity to find my target or understand their strafing pattern first. I think I always focus on increasing the capacity first. Maybe it’ll be easier for me to make things more efficient for the constraint. I gotta find the constraint reliably first tho.

I wonder what are the other changes you want to do first. Also, I wonder why making things for the constraint is more efficient. ā€œEfficientā€ has to do with saving time or energy I think.

I think adding resources to the constraint means to have stuff go through the system? Like, just use the system and check on the constraint. That or it means increasing the capacity of the constraint.

You can repeat these steps cuz there will always be a constraint and part of the steps is to find the constraint first.

1 Like

Is there any literature or discussion tht says this? Ot says something similar?

I dont think i know wat a constraint is, like i think im using the word just to use it in a sentence and move on. Why not think of examples of constraints and start optimizing them? Thtll let u know what optimizing a constraint means.

Seems like i have some idea about what optimizing a constraint means. Why not try identifying the constraint then name some examples of optimizing them?

What strat did he change? How was i messing up the enemy team? Tht sounds like a system with good enough parts.

I seem to not understand the system the enemy and their team used. I think finding tht out can let me lay out all the parts of the system and find the constraint.

say the constraint is AI tokens. then it’d be efficient to carefully spend a lot of time figuring out the best prompts to give the AI. your time has excess capacity.

if AI tokens are cheap and your time is the constraint, then instead you should give the AI prompts a lot more casually, experimentally and repetitively (try multiple similar prompts) and let it do more work instead of you.

if the constraint is a big oven that can only 3 8-hour batches per day, then you could do quality control before the oven so fewer broken parts go through the oven, so the oven is used more efficiently.

the idea is the constraint is hard/expensive to improve/increase or else it wouldn’t be the constraint (you would have already improved it). this doesn’t apply in very early stages of things before the system is stabilized and the constraint stops changing much.

ā€œtarget the enemy carryā€ is a common strategy which can turn games around.

I just looked up AI tokens via gemini. I haven’t heard of those before. They seem to be information that AI uses to predict what a text is saying(??) It seems to be what the AI uses to talk to others.

I think i don’t know what the word ā€œpromptsā€ means, but I’m guessing that it’s to have AI understand more. Oh, wait i kinda looked up ā€œpromptsā€ and I’m thinking the prompts are to have the AI do something for you. Something like, ā€œGemini can you please make an essay about Karl Popper’s epistemology?ā€

I wanna try showing my understanding by predicting what you could say next. First tho, Im gonna analyze the first two AI token examples to help me:

In your previous two examples, what I’m seeing is that you found your constraint and you’re using something that has excess capacity to do something(?). I’m not understanding what that something is. Well, the goal of the first two examples is maybe having the AI help you with a task or do a task for you. I think it helps to know that a system has parts or factors.

In the first example, the system’s AI tokens may not understand a whole lot from an average prompt. Is using your time to make the best prompts a part of the system? I think yeah, if you didn’t use any of your time then you wouldn’t be able to make any prompts. That’s with exception of maybe making an automated system to do it for you.

In the second example, u may not have a lot of time to get a good response from the AI without trying a bunch of prompts. Since the AI can pick up a prompt and respond fast, u can use it efficiently to get wat u want.

Now im thinking tht time is a raw resource and ure turning it into stuff for the goal.

My prediction:

Idk how to think about this actually. Every time I think of the constraint, I think of something that works slowly, but that doesn’t necessarily seem true. Like, I’m trying to think of what other parts of the system can take the load for the oven. But then I’m thinking how will they even do that? I know there’s time, like maybe u can make a good enough batch that u only need one 8 hour batch instead of three.

I read the rest of the quoted paragraph and I was kind of on the right track. I guess I should’ve given myself more context. Idk

Ok, I had a feeling tht was kind of what u were talking about. Like, I’m thinking when I try to improve my aim, I sometimes work on stuff that has very low accuracy like 1%-20%. I often think if I even have a functional system there. I think, how does this stuff relate to TOC? Like, can I apply focusing steps to a barely functional system? I think u can

Kind of. Here’s how I’d explain it:

LLMs need an ā€˜alphabet’ to take in information. English isn’t very good because it has so few symbols, which are inefficient to run an LLM on. Instead, we could create an alphabet with like 200,000 characters which is much more efficient. Each one of those characters is a ā€˜token’. Practically, this (very roughly) equates to 4/3 tokens per word. Some words are one token, other words are made up of multiple tokens.

LLMs have something called a context window which is the most amount of information they can ā€˜see’ at once. You can’t fit more data in, but you can summarize data to ā€˜compress’ it. This context window is measured in tokens – the largest context windows today are about 1M tokens (so about 750k words). For comparison, all 3 LOTR books together are about 470k words.

Different LLM models can use different token alphabets, but often related models (in the same family) use the same token alphabet. If you want to see what it looks like, check out https://platform.openai.com/tokenizer (paste in any text)

Yes, prompt(s) are what you send to LLMs. The prompt probably refers to the first message you send to an LLM most of the time.

Technically, each time you send a message to an LLM you are sending the entire chat history with your most recent message at the end. So in a sense you can think of the whole chat history as ā€˜the prompt’ that the AI completes.

1 Like

I see alphabet is in single quotes so I’m thinking u’re using that word as a metaphor? Or as a lack of better words.

We use alphabets to build words that we can talk/write with. AI maybe does the same with the tokens.

Ok, mb I didn’t read the rest of the quote above after the word alphabet. To take information in sounds interesting. When i give the AI a prompt I’m thinking it takes information in via the tokens. Like, maybe when I tell it to make up a short paragraph of a short story, it uses AI tokens to take information from my prompt? Like, maybe because I said paragraph it can do something related to a paragraph? Depends on the tokens. I’m not sure.

I think you’re talking about the alphabet? Those symbols? Imma look it up

I saw maybe u mean stuff like, ā€œ#$%^.ā€ There doesn’t seem to be a lot of those symbols. I wonder how many symbols an LLM needs and why. I also see that u actually say that it’s inefficient to run an LLM on English. I bet it takes so long to run it on English.

I bet the LLM can access those 200,000 characters quickly cuz that’s a lot of characters. I wonder why it’s more efficient.

So maybe there’s tokens with parts of words. Maybe it could be ā€œantiā€ and ā€œthesisā€ from the word antithesis.

Maybe the word(if we’re talking about English words) paragraph is made the tokens, ā€œparaā€ and ā€œgraphā€. Maybe the tokens are unrelated to the actual words? Like, maybe the ā€œmanyā€ token and ā€œsentencesā€ token can express the word paragraph? Idk

I wonder if information can be measured. Like is it quantitative? If we’re talking about bits from a computer then maybe yeah?

I looked up the question via gemini, ā€œwhat’s the most information in can a context window have?ā€ and I got this:

It seems information is measured in tokens.

I wonder if u can be creative to compress the data.

Mb maybe i should read everything first quickly then do a careful reading?

Seems like u can convert tokens to words. They’re both information. It’s like converting miles to kilometers maybe?

more than half a million tokens i think.

ty ill take a look. Maybe it all this will help with the AI token constraint examples(unburden the constraint).

I tried a word and look at that. It takes three tokens not two:

I was wondering how the AI tracks the convo. That’s if it takes the whole convo history as a prompt. Im wondering if u keep messaging it and add to the prompt, does the AI change its answer? Like, would it respond differently to something u said before? Like, it changed its ā€œopinionā€ along the way.

Kind of. I put it in quotes because it is an alphabet in a sense, but it’s unlike human alphabets. It’s not strictly a metaphor. I’m trying to indicate that it is a similar concept but not exactly the same as what people usually think of as an ā€˜alphabet’. Particularly, tokens are the atomic units that LLMs can ā€˜read’. Just like english character symbols + punctuation are the atomic units that we use to construct words, sentences, etc.

The conversion from text-based data to token-based data is deterministic and works forward and backward, so you can think of it like a way of encoding normal human-readable data as LLM readable data.

Yes, it converts the prompt from text-based to token-based. LLMs at the mathematical level only understand tokens.

If LLMs only understood english symbols, then we could create a mapping like this: a = 1, b = 2, …, z = 26, A = 27, …, Z = 52, [space] = 53, . = 54, , = 55, ? = 56, etc. Then, any word could be encoded as a list like "any" = [1, 14, 25]. We would feed that list into the LLM for processing. Since LLMs process things one character (token) at a time, it’s not efficient to have so few characters. But if we could pick an alphabet with hundreds of thousands of characters (tokens), then we could have something like "any" = [33814]. So it’s like a single ā€˜character’ for an entire word.

I mean any symbols. a is a symbol, A is another different symbol. ? is also a symbol (though not technically part of the english alphabet, it is an english writing symbol – another reason that I put ā€˜alphabet’ in quotes).

We tend to think of these as different kinds of symbols (which is fine for human reading/writing/etc), but with LLMs we need to think a bit more generally and abstractly.

Yes – though as you saw later, where and how words are broken up isn’t always intuitive. That’s because the tokenization method is itself something learned via machine learning. It’s based on frequency of appearance and other things.

Sure, though even asking it the same question later in the chat isn’t the same thing. Like I could ask ā€œX?ā€ and it says yes, then I point out some things and ask ā€œX?ā€ again and it says no. The second time I’m not just asking X, I’m sending it the whole chat log including reasoning about why X might be no, and then asking X.

What I think Elliot means here is that you might be constrained by how much you can afford (longer prompts → higher cost), or maybe also things like how much fit in the input prompt.

LLM usage is billed per million tokens in and per million tokens out. GPT-5.4 is something like $1 / Mtok in and $14 / Mtok out. If you were using it for coding, you could send the whole codebase + some instructions as input, and get the LLM to produce a particular file with changes as output. This is about the most expensive way to do it. Instead, you could send a few specific relevant files as input, and have the LLM output just the changes rather than the whole file. This would consume fewer input tokens and require fewer output tokens, too, reducing overall cost.

Assuming you were implementing this LLM-coding system by hand, the first method is simpler and takes less time to implement. The second method is more complex and takes more time to implement, but has lower LLM costs. Which approach makes sense? It depends on how much time and money you have (ie, where the constraint is).

Oh I think I kind of see what you’re saying. I use question marks and periods and letters to make words and sentences.

I wanna look up atomic to get more of what you’re saying. I found oxford languages define atomic like this:

Does that mean that english character symbols and punctuation are irreducible? Itd be nice to know what irreducible means, but in a way I don’t see why I would need to break down a period or english letter to make a sentence or paragraph. Like, I can access those symbols and punctuation to make up any word, sentence, or paragraph.

So if we look at LLM’s making sentences(particularly Tokenizer OpenAI):

So the atomic units I as human would use to make the sentence in the photo above are things like ā€œkā€, ā€œtā€ ā€œeā€, ā€œ.ā€ OpenAI would use atomic units such as ā€œIā€(i), ā€œ likeā€(space before like), and ā€œ.ā€ It would use those units to read or form words, sentences, etc.

This is what I think I’m missing from trying to understand all this:

  • do we use atomic units? is that correct way to say that?
  • Do LLMs construct words and sentences too? Like humans do? that sounds obvious
  • What atomic units are
  • What atomic units do
  • How to apply the phrase ā€œatomic unitsā€ in the English language and AI tokens
  • Can I replace ā€œAI tokensā€ and ā€œEgnlish symbols and punctuationā€ with ā€œatomic unitsā€? Like, can I use them synonymously?
  • What this all means as a whole. Like relate the idea of atomic units to alphabets.

A note on terminology: I use ā€˜atomic components’ and ā€˜atoms’ to mean the same thing as ā€˜atomic units’. They all mean the same thing in this case when speaking abstractly. I’ll avoid using them ambiguously.

Yes, characters are irreducible if we are talking about spelling, punctuation, etc. You can’t use half an a to spell something. You also can’t decompose w into uu or m into nn etc.

Aside: we can change to a different abstraction / frame of reference to reduce characters, but then we’re not talking about english and spelling anymore. For example, looking at characters as glyphs (as in a specific font), we can see they are made up of straight lines, curvy bits, wide bits, thin bits, serifs, etc. Or, if we consider letters as patterns on a seven segment display, then it’s obvious that we have 7 parts that are either on or off.

Edit: oops, forgot a 7 segment display couldn’t show all characters – it can show all digits. There are displays with more segments (9, 14, 16 according to wiki)

Aside: DNA is another example: the DNA itself is made up of irreducible base pairs (A, T, G, C), but as molecules those base pairs are composed of chemically bonded elements (carbon, oxygen, hydrogen, nitrogen, phosphorus).

Yes.

Pedantic aside: Technically ā€˜OpenAI’ isn’t the right noun here, but I know what you mean. OpenAI’s models use those atomic units. (A model is the specific collection of neural nets and related structures (like embeddings) and how they’re all connected that makes the complete LLM.)

Yes but the question isn’t very specific. Almost every system has atomic units/components.

So usually you’d ask like ā€œWhat are the [atomic] components of X?ā€ and the exact answer depends on context. eg programming languages have primitive types (integer numbers, floating point numbers, strings, etc) which are a similar idea. Everything[1] we build is built up from those. (Though we usually have access to lower level stuff too like bitwise operations, so whether primitives are atomic or not is moot. For computation more generally, one set of atomic components are bits and transistors.)

Depends what you mean by ā€˜like humans do’ – for most contexts i’d say ā€˜no’. Putting that aside, I think it’s self-evident that LLMs construct words and sentences.

I’m not quite sure how to help you here with grokking them abstractly. Maybe think about examples and answer those questions for the examples. So consider things made of other things. Like lego – what are the atoms of lego and what do they do? What are the atoms of numbers? (And what about modern arabic numbers, roman numerals, numbers in different bases?) What about mathematical notation like algebra? Mathematical constructions like functions? If you were building a traffic simulation, what would the irreducible elements be? What about music? Do pictures have atomic components? What about in specific contexts? (a digital image, an oil painting, a drawing, a mosaic, etc) What about prepared meals?

If you get stuck on any of them, try other ones first and come back to the one’s you’re stuck on. There aren’t necessarily clear exact answers to some of those questions, but I think there are reasonable answers to all of them (and maybe more than one set of reasonable answers, too).

In the right context, sure. But you’d confuse people if you just changed on a whim. You’d need a shared theory of how to break those things down with whomever you’re communicating.


  1. Well not exactly… All data structures at least. ā†©ļøŽ