Here is an explanation of the simplex algorithm, including details on how to convert to standard form and a short discussion of the algorithm's time complexity.
Might be either dumb or too late.. but why not only sell standard chairs? As I am understanding it, you are essentially loosing profit with every “luxury” chair you sell.. if you spent the 1000 hours on 100 “standard” chairs (costing 10 hours each) you would make $1000 at $10 each. If you made a single “luxury” one and the rest “standard”, you would make $980. If you made two “luxury” chairs and the rest “standard”, you would make $960.. i.e. you are loosing $20 for every chair. It costs you twice in labor to profit for every luxury chair, compared to a one to one cost in labor to profit for standard chairs. What the hell am I missing?
I came here to understand the reasons behind the matrix manipulation better, but when the video reached that part, it kind of stopped explaining (why things are done) and settled for narrating (what is being done, which I already know) so I didn't find it as helpful as I had hoped.
at 8:07 the column S2, third row, the number should be 10/3, not 15/4. Also, you didn't mention artificial variables, two phase simplex and duality at all. With that being said, very good video, I'd give you a 9/10
Yes, I got that too. I think there was a mistake with -1/3 on the S2 above that 15/4, because S2 on the second row should be just 1/3, not -1/3. Thank you for your comment and thanks to author for his explanation.
@@janplechaty1702 indeed, I have been implementing the algorithm for a computer science project. Test case (problem from this video) kept failing because of this. Eventually worked through the algorithm by hand and got the same result my implementation gave (i.e. both S2 row 3 being 10/3 and S2 row 2 being 1/3 are the correct answers)
Perhaps it was my linear computation classes from 1981 kicking in but didn't everyone know the answer the minute it was asked? I started to wonder why he was presenting such an obvious solution and kept waiting for the trick that I may have originally missed which, of course, doesn't exists.
So, this vid is amazingly concise; but I got me some questions: 1) How do you choose the first vertex? In this case it's "obvious" that (0,0) is a vertex, but I have a problem with over 100k decision variables and if I set them all to zero then I'll be outside the solution region. 2) How to handle constraints that don't form a boundary? Imagine the same as above, but with the added constraint *x <= 100* . ie. How to make sure that we're pivoting to a vertex that abides by the constraints? 3) 6:13 you say that "we want to move in the direction where the objective function will increases the quickest," shouldn't that be the [2,1] direction? which increases the OF by sqrt(5) for each 1 unit in that direction, which is better than [1,0] direction? 4) Is simplex supposed to handle the case when the user supplies constraints that don't bound the solution? If so, how?
1 - This is the purpose of the slack variables. If the right side vector b is positive, you can always start with x=0 ans s=b. Some problems do not have postive b, and then indeed it is another problem. It is called the 'first phase' of simplex algorithm. You have to start with what we call a "basic feasible solution"
2 It seems the process of changing the base was not explained, but in simplex if you start with a bfs vertex, you always get another bfs (improved) vertex. When you change the point you test how far can you move it in a given direction, and then your redundant constraint would never show up. Since some constraints add nothing to the problem, some solvers can do a preprocessing and remove it just to make the matrix smaller .
@@julianocamargo6674 Thanks for your explanations! I wish I could give an intelligent response, but I haven't touched simplex since I first wrote this comment. I'm sure I'll come back to it and read your comments again. Thanks. =)
*S* represents the amount that you would need to add to the smaller amount (lhs) to make it equal to the larger amount (rhs). So *S1* and *S2* should be strictly non-negative.
This must be one of the best content in the whole youtube, amazing
Really nice explanation, clear and to the point.
tysm
awesome explanation 🎉
I can't believe this is the only video on your channel, it's so informative and you explained it very well!
Old yet still the best
well said 👏
At 8:08 shouldn’t the 4th value for the last row be 10/3 instead of 15/4? 5 + ( - 5 / 3 )
thank you! you made simplex simple lol
"A quick sanity check" always gets me 😂
Thank you louis
i likz your accent
i dont like the drawings
Very beautifully explained.
YOU R A GENIUS ! THANKS A LOT.
his voice fits being the main vocal of a rock band i swear to god.
Thanks so much for simplifying it so much, textbooks make it way more harder. I hope you keep making more videos
Might be either dumb or too late.. but why not only sell standard chairs? As I am understanding it, you are essentially loosing profit with every “luxury” chair you sell.. if you spent the 1000 hours on 100 “standard” chairs (costing 10 hours each) you would make $1000 at $10 each. If you made a single “luxury” one and the rest “standard”, you would make $980. If you made two “luxury” chairs and the rest “standard”, you would make $960.. i.e. you are loosing $20 for every chair. It costs you twice in labor to profit for every luxury chair, compared to a one to one cost in labor to profit for standard chairs. What the hell am I missing?
you can only make a maximumof 40 chairs due to the m3 of wood available.
@@nils3989 Ohhhh thats the detail I overlooked. Thank you for pointing it out.
I came here to understand the reasons behind the matrix manipulation better, but when the video reached that part, it kind of stopped explaining (why things are done) and settled for narrating (what is being done, which I already know) so I didn't find it as helpful as I had hoped.
very clear. amazing. wow
Thanks a lot
Thank you❤
Beautifully explained
your presentation style is really outstanding!!
at 8:07 the column S2, third row, the number should be 10/3, not 15/4. Also, you didn't mention artificial variables, two phase simplex and duality at all. With that being said, very good video, I'd give you a 9/10
Yes, I got that too. I think there was a mistake with -1/3 on the S2 above that 15/4, because S2 on the second row should be just 1/3, not -1/3. Thank you for your comment and thanks to author for his explanation.
@@janplechaty1702 indeed, I have been implementing the algorithm for a computer science project. Test case (problem from this video) kept failing because of this. Eventually worked through the algorithm by hand and got the same result my implementation gave (i.e. both S2 row 3 being 10/3 and S2 row 2 being 1/3 are the correct answers)
OMG This opened the doors of my thoughts.
My guy, you just saved my ass , my professor could never
Perhaps it was my linear computation classes from 1981 kicking in but didn't everyone know the answer the minute it was asked? I started to wonder why he was presenting such an obvious solution and kept waiting for the trick that I may have originally missed which, of course, doesn't exists.
I would love to see more videos from him, a very nice way of explaining and visualising the concept
The irony is Simple is not actually "Simple"!! (The big table thing, Oh God 🤯)
LEGEND! You can die in peace knowing that your legacy will forever save future undergrad students days before their final exam
This made me cream
Very helpful, thank you!
Perfection
Now I have an idea about what I am to do and not feel forced to memorize the steps
The only excellent video explains the simplex algorithm very clearly! Many thanks.
So, this vid is amazingly concise; but I got me some questions: 1) How do you choose the first vertex? In this case it's "obvious" that (0,0) is a vertex, but I have a problem with over 100k decision variables and if I set them all to zero then I'll be outside the solution region. 2) How to handle constraints that don't form a boundary? Imagine the same as above, but with the added constraint *x <= 100* . ie. How to make sure that we're pivoting to a vertex that abides by the constraints? 3) 6:13 you say that "we want to move in the direction where the objective function will increases the quickest," shouldn't that be the [2,1] direction? which increases the OF by sqrt(5) for each 1 unit in that direction, which is better than [1,0] direction? 4) Is simplex supposed to handle the case when the user supplies constraints that don't bound the solution? If so, how?
1 - This is the purpose of the slack variables. If the right side vector b is positive, you can always start with x=0 ans s=b. Some problems do not have postive b, and then indeed it is another problem. It is called the 'first phase' of simplex algorithm. You have to start with what we call a "basic feasible solution"
2 It seems the process of changing the base was not explained, but in simplex if you start with a bfs vertex, you always get another bfs (improved) vertex. When you change the point you test how far can you move it in a given direction, and then your redundant constraint would never show up. Since some constraints add nothing to the problem, some solvers can do a preprocessing and remove it just to make the matrix smaller .
@@julianocamargo6674 Thanks for your explanations! I wish I could give an intelligent response, but I haven't touched simplex since I first wrote this comment. I'm sure I'll come back to it and read your comments again. Thanks. =)
@ 2.25 timestamp--did you mean s1<=0, s2<=0? Since the constraint inquality is <=0?
*S* represents the amount that you would need to add to the smaller amount (lhs) to make it equal to the larger amount (rhs). So *S1* and *S2* should be strictly non-negative.
thank you
man you re a life saver , also that scene from dhis is pure gold, bless you
Wow, that was great.
Thanks for this great video!
what a legend
👌
Such a great help! Really appreciate your work!!
I have spent hours understanding linear programming and simplex but this dude explained it better than anyone in 10 mins
Excellent!
This is awesome! Please do more
best explanation i've seen so far.
Great Explanation, finally a video which gives some intuition Thank you!!