As a some-time lifter, the idea of totally optimizing plate changes begins to feel a bit like taking the escalators up to the gym entrance where there are stairs right there[1]. After a couple of years of attempting what the author does here, it finally occurred to me that moving around heavy weights was the whole point of the exercise, and plate-switching was just a different move. Efficiency didn't matter, I was using my body and building strength. Shout out to people who are pressed for time and want to get their workout done in a small window: You do you, just don't hog all the weights and not put them back on the racks.
Agree, moving the weights inefficiently will end up working the muscles you don't necessarily target in your main workout. It's less efficient, but probably gives a (very slightly) more well-rounded workout. If you're pressed for time, it could make sense to have a basic understanding of how to avoid dilly-dallying during your workout. If you go to a public gym, there will be other factors that affect your total time much more, like having to share equipment, which introduces a lot of uncertainty. Maybe these micro-optimizations are worthwhile if you have a private gym.
From a well-being/philosophical standpoint, maybe it's better to live life relaxed, and not one where you have to micro-manage every minute of your day to squeeze out every inch and penny of efficiency you can. That sounds like a horrible lifestyle, but I guess to each their own :)
I’ve always pondered the exercise value of moving weights, especially 45s, on and off the bar. Ultimately, I don’t think it affects gains for an elite lifter.
The “reps” you get moving the weights don’t conform to any reasonable pattern for making gains. Worse, they’re tiring you out.
Criticizing plate optimization on your grounds sounds like a traditional conservative criticizing a progressive for changing the way things are done for no reason other than it being different. In this case, the difference is better in every way except for being too complicated for lunks.
If moving the plates around tired me out to the point of impacting the session and/or my recovery I'd conclude that my work capacity needs improving, not that I need to minimise extraneous effort in the gym.
I typically load the bar so that I get my desired weight with the fewest number of plates. This keeps the weight slightly closer to the center of the bar and slightly more stable, also light plates have a tendency to wander around more than heavy plates (Except for deadlifts, I typically don't use clips in case I need to dump the weight).
Optimizing the changing of plates is not really of any interest to me, like you said the whole point of being at the gym is lifting weight, and as far as warmup sets go I never use anything but 45 and 25 lb weights until I get to my working set weight.
In exercise science there's a concept called specificty: training is more useful the more similar it is to the thing you're training for. If you're just training to make some parts of you bigger and others smaller, moving plates is still poor exercise because it's a variable movement that can lead to asymmetries or overuse injuries and can't be progressively overloaded.
Absolutely, if you're training for sport-specific things. Maybe you want to find a way to target your serratus anterior for more opposite-field power or something. But if you're just a 30- or 40-something who doesn't want to be a frail 68 yo with osteoporosis, a titanium hip joint, high blood pressure, and sarcopenia, just move, lift, and stretch. Anything works.
In particular, picking up plates by "pinching" them is a great way to build grip strength, which is often a limiting factor when lifting heavy. So it is directly beneficial to the main exercise, not just a side-exercise.
While somewhat tangential to this, I'd like comment on a different problem. "What's the fewest number of plates you need to go from 45lb (bar) -> 240lb at a resolution of 5lb?" Look no further than the 185lb set[1]. Composed of pairs of 2.5lb, 5lb, 2x10lb, 25lb, 45lb plates, one can do just this. Need to lift 245lb? Buy another pair of 45lb plates and your range expands to 45lb -> 330lb. Another pair of 45lb plates yields 45lb -> 420lb. You get the idea. This approach comes with the added bonus of being the most cost efficient method of buying plates, as higher pound plates yield slightly better $/lb.
This leaves out the ability to get to 85, 90, 175, and 180 lbs. Another set of 10s hits these missing numbers quite easily tho and allows for 330 lbs in total which should be plenty for most recreational lifters.
The set of weights you listed cannot do 85lbs or 90lbs since nothing adds up to 20 or 22.5. Your notebook shows this. Easily rectified by adding in another pair of 10lb plates.
I have a limited amount of time available to get my workout done. Optimizing how plates are added/removed as you move through your warmup sets to your working sets is important if you want to minimize your total workout time.
Sure, if I have 2hrs, no problem - just do whatever is easiest to calculate. But if I only have 30min then I need to be economical with every movement.
The further into the weeds you go with computer science, the harder it gets to find intuitive, tangible demonstrations. I love this as a simple, practical display of computer science principles. Similar to that "making change with as few coins as possible" problem every CS 101 class gives you, but much more sophisticated.
These are the kinds of things you contemplate during rests between sets :)
Honestly though, the effort of increasing weights between sets is far less important than the effort of removing the weights when done (which some of the bros never bother doing).
When you are exhausted, removing 5s and 10s is practically a joy compared to removing 20s (45lb).
going to say something controversial here, but... if you go to the gym to lift weights and after that you end up doing all this mental gymnastic to allegedly save time you're doing it wrong. you are literally avoiding lifting small weights to load up your bar, when you are there to lift weights. I would challenge everyone to show me how much time they can save.
Also, if you want to save time AND if you have a super complicated workout that involves 30 different weights on the bar you are also doing it wrong. for each exercise you should have 2 weights: warmup and the weight you are working on.
work with a weight that allows you to do 5 sets of 5 reps (+1 warmpup set). Do: bench press, overhead press, squats, barbell rows. that is all. you will get the workout done in 30 minutes. Compound movements with a barbell are all you need (before you gang up on me, remember we are optimizing for time and the best return for the effort).
Do you really only use one warmup weight when lifting heavy?
Let's say I'm squatting 325lb / 140kg. I'll usually do 5/reps empty bar, 5 reps 135lb, 5 reps 225, 5 reps 275, then 3-5 "working" sets of 325 (3x5 or 5x5).
Do you think all those intermediate warmup reps are a waste of time?
I think when you're still doing light-ish weight (like too light to be adding ~1 plate per warmup set I guess), it's easy to do too many warm-ups. Like on deadlifts, I was doing something like 155x5, 225x5, 255x5, then 285x5, and got stuck because my grip would be too tired by the time I had the working weight on. Switching to 155x5, 245-265x3 as a warmup made it easy again to continue up to 310 still doing double overhand.
OHP also seems to suffer a lot from warmup fatigue. I found that 45,95,135 works better than adding an extra warmup at 110-115, for example.
I do x3-4 on all my final warmup sets now since I'm really just using it to get my body ready to expect the weight, so the extra fatigue from x5 seems pointless.
Regarding OP though, I think it makes sense to just adjust your warmup sets to make loading plates easy. Like I was planning to bench 205 today, so I did 115,165,205 because I could load 35, 25, 2x10 to make that easy. Maybe it'd be better to do 170 instead of 165, but I don't think warm-ups need to be an exact value. You're just getting used to feeling the weight for the day.
Yes. At least right now. For me the goal of the warmup is to practice/remember the correct movement under load.
Also remember the 2 preconditions i mentioned one of which was optimizing for time (there is nothing wrong in doing it progressively like you do, but again remember we are "efficient" and optimizing for time). Somehow I doubt that if you are squatting 3 plates you can do this exercises continuously without breaks between sets.
My squat right now is at 280.
I load 1 plate (135) and warm up with that.
After that I go to 280 and do 5x5.
There is a balance of warming up your muscles and getting your body accustomed to the feel of the weight, and exhausting yourself with too much warmup.
For squats I warm up with some body-weight reps, then do one set with empty bar, then ramp up adding 45lb plates until I reach my working weight. I'll do 3 to 5 warmup reps at each weight, with an intense focus on proper form.
I would rather do 5/3/1 Krypteia or something out of Tactical Barbell (the name's a bit extra but the content is good).
Classic 5x5 stalls out hard and doesn't really have a plan for progression after that. It's adequate to maintain a decent baseline but the same time commitment had me progressing in strength and conditioning.
i don't know about you, but for the use case where you want to build some strength and stay there without having dreams of bench-pressing 7000lbs this is great.
I think if you can do bench 2 plates, squat 3 plates and deadlift 4 plates you are already stronger than 90% of all people (including people that do all this crazy programs).
If you can get that done in 30 minutes with 2 workouts per week I am calling it a massive win. It allows you to maintain muscle and bone mass as you age. Hitting a plateau is fine with me.
Now, if your goal is not that it is fine, but ultimately it's about what your goal is.
Yes it is all about why you are there. For me, I want to be stronger. I don't want to make weightlifting my life or set any records. Sets of 5 works just fine for me. The only time I've hurt myself lifting weights is trying out my "1RM" or trying to hit "RPE 10" lifts. I don't do that anymore. If you can do 5 reps with good form, you probably aren't going to hurt yourself lifing that weight, and it's fairly safe to add 5-10 lbs more for progressive overload.
The objective here is framed as "I want to find a cheapest path that visits a sequence of nodes with specific goal weights [W_1, ..., W_n], in ascending order". This is a bit like a spatial path-finding problem where the objective is to find a path through a fixed sequence of waypoints, except harder, as we're not specifying specific waypoint nodes to visit but only that we visit nodes with some desired characteristic (total weight).
Consider how the state space is encoded -- it isn't valid to model each node in the graph by total weight, as that erases the detail of which plates are currently equipped, which we need to determine the edge costs. That's shown in the diagrams, where each node is represented as a multiset of plate weights.
Another part of the state space encoding is subtler: it's only valid to visit a node with goal weight W if we have previously visited all goal weights W' with W' < W. This constraint is implicitly encoded by the nodes and edges considered in the transition graph, and the ordering of the nodes from left to right. For this problem there's no need to augment the state space with an extra state variable to track how many goals or which goals we've already achieved, that's implicitly tracked through the total weight and the construction of the transition graph. Nodes and edges that violate this have been excluded from the transition graph, e.g. there's no edge drawn from node {0} to node {10, 25} -- as that transition causes the path to fail to visit a node with total weight 15 and total weight 25.
Suppose we were to change the objective from "visit a sequence of nodes with these specific goal weights [W_1, ..., W_n] in ascending order" to "visit a sequence of nodes with these specific goal weights in _any_ order". The problem becomes _much_ harder, a variation of the traveling salesman problem, and starts to resemble some industrial problems, e.g. some kind of resource constrained vehicle routing delivery problem.
This nuance is correct, and handled correctly by the code and diagrams, although the text is unclear. (Although a random ordering of the weights would not make sense for the problem setting, which is warmup sets in the gym.)
> This can be done efficiently via, eg, Dijkstra’s algorithm, but since this is such a small graph, we can also easily enumerate all 36 paths and sort for efficiency.
Brute force enumeration for small problem instances is pragmatic. For larger problems, Dijkstra's algorithm would certainly work, and would also work for more general problems where we're given a graph containing cycles.
For this barbell plate problem we could also exploit the acyclic structure and use bottom-up dynamic programming: maintain a table tracking the cost of the cheapest path to each node, and an auxiliary table tracking the predecessor node or incoming edge per node where the cheapest path was attained, then fill out the tables "bottom up" (or left to right per the diagrams). Less general, but it dodges the need to do a bunch of work maintaining a priority queue of partial paths.
Another fun connection is to the Viterbi algorithm - a completely different real world application to barbell plate optimization - decoding a sequence of noisy observations and trying to reconstruct the most probable trajectory of unobserved states - but the abstract mathematical model & way to attack it computationally is very similar -- construct a DAG, a solution is a least-cost path through the DAG (ignoring all the problem-specific details going into the definition of state spaces, transition graphs, edge costs, etc). c.f. "The Viterbi Algorithm at 50 (2017)" from a couple of months ago: https://news.ycombinator.com/item?id=35897851
edit: i guess another connection is the knapsack problem mentioned in this post -- it can also be framed as a least-cost path through a DAG, and computed bottom-up.
For this barbell plate optimisation problem, the acyclic structure comes from the monotonic increasing sequence of goal weights. For the Viterbi algorithm's problem of inferring a most probable sequence, the acyclic structure comes from each observation being ordered by the observation time. For the knapsack problem, there isn't really a natural problem defined ordering of item take/leave decisions, but the decisions can be sequenced in any arbitrary fixed order.
I implemented one of those for myself a couple years ago: https://s3.amazonaws.com/max.public/bestplates/index.html
It’s optimized for phone input, so put the weights of the sets you’re going for in like ‘135*225*280’ . I modelled it much more simply than this, a relatively straightforward Cartesian product of all possible plates with a rewards function that assigned a value to each combination!
This is awesome, I have been wishing for this for some time and realized it is a bit non-trivial to put into an app, but if you did, I would pay for it, maybe $50/year?
1 https://medium.com/@nessasaurus/only-in-america-fe7d2d5d461e also, I understand there are legitimately people going to gyms to exercise who may not have full use of their legs.