The Art of Linear Programming

Поделиться
HTML-код
  • Опубликовано: 7 фев 2025

Комментарии • 444

  • @mathfincoding
    @mathfincoding Год назад +170

    I took multiple operations research classes in undergrad and I'm taking math graduate classes now. I never truly understood the connection between the primal and the dual problem until now. My mind is blown. Thank you so much!!!!!!!

    • @payrimdwein9082
      @payrimdwein9082 Год назад +5

      just saw this after my course finished, this is good!

    •  Год назад +1

      The way I always understood it is that most problems are either seen as you taking up resources to maximize a profit or you are minimizing your wasted money by emptying out your storage space.
      In the example, you are either making potatoes/carrots to get a profit or you are essentially trying to use as much seeds and fertilizers as possible to have the least waste.

    • @jainickvishani5185
      @jainickvishani5185 Год назад

      EXACTLY, I just finished my finals last week and I see this video explaining the whole damn course 😂

  • @johankotze42
    @johankotze42 Год назад +293

    This is so interesting. I am retired now, but the last 20 years of of my working life was spent managing a dynamic truck allocation system in an opencast mine. I was mostly involved in the IT/IM side, but I knew the optimization was done with the simplex algorithm. Over the years, however, I got the impression that all the graduated industrial engineers did not understand what they were working with.I'll rewatch all of this a number of times.

    • @IxCIHAoX
      @IxCIHAoX Год назад +8

      @johankotze42 Interesting, i always wondered how an industrial engineer would apply Operations Research in pratice. We had to calculate the simplex by hand, but i always thought i would just use some excel plugin. I'll soon graduate in industrial engineering and am curious about key skills that you dont learn in uni. If you don't mind, what would you like to see more in upcoming IEs?

    • @greatcanadianmoose3965
      @greatcanadianmoose3965 Год назад

      @@IxCIHAoX I mean look up the excel solver... I've learnt both doing it by hand, as well as excel, though currently I'm learning GUSEK to solve these problems!

    • @fabio.1
      @fabio.1 Год назад

      👀

    • @lu3tz
      @lu3tz 4 месяца назад +1

      @@IxCIHAoX I am an industrial engineer working as an operations research scientist in logistics. What I'd look for in a ie grad is decent programming skills (python/java/scala/c/c++/c# I don't care which), basic knowledge in statistics, basics in data handling and visualization and most importantly knowledge in OR and that does not mean simplex. Can you model mixed integer linear problems? Can you spot weak points in your model (big-M, symmetry, ...)? Can you write your model in your programming language of choice (for example python + pulp)? And maybe know a thing or two about heuristic solution approaches (greedy, local search, tabu search, genetic algorithms....)

  • @spb1179
    @spb1179 Год назад +104

    This topic has to be one of the most important things I’ve seen this year. So useful. That’s crazy what you could do with this.

  • @prori5297
    @prori5297 3 месяца назад +7

    18 mins of your video is more helpful than 4 hours at my class. Thank you so much

  • @puneetkumarsingh1484
    @puneetkumarsingh1484 Год назад +8

    Took me 2 watches on separate days while thinking about it in between to fully understand the slack loosening and tightening concept. And when it clicked, it felt really beautiful and made sense! Thanks for making it so clear.

  • @bejoscha
    @bejoscha Год назад +129

    Perfect pace, well thought of outline, clean and helpful visuals, good narration - what is not to love about this? You've gained a subscriber.

  • @Noxafurry
    @Noxafurry 7 месяцев назад +8

    This is some 3Blue1Brown quality level of quality! I am genuinely shocked by how good this video and the explanation is! Thank you.

  • @ehsanabbasi6218
    @ehsanabbasi6218 Год назад +6

    Truly impressed by this video! As an industrial engineer, it was a challenge to learn and visualize the concept of LP and SIMPLEX. What I learned in 19 minutes from this video is comparable to my 4-month university course. Now I wish you had created this video 3 years ago. Thanks!

  • @juanhbiancuzzo1490
    @juanhbiancuzzo1490 Год назад +11

    this is my first video of you that I've seen, and it's really amazing. i'm looking forward to seeing more videos in this series.

  • @sanjaykrish8719
    @sanjaykrish8719 8 месяцев назад +2

    Your work will impact generations to come and uplift the knowledge of people who are at a disadvantage. Thanks a lot

  • @НиколайЗаднепровский

    I appreciate that you are giving the real meaning behind each step instead of just throwing some random numbers and math operations like most other creators do.

  • @OgsLike
    @OgsLike Год назад +8

    Wanted to say that besides your excellent knowledge on the subject, it’s an extremely rare and precious talent you have of teaching and presenting complex subjects in an accessible way. Your visuals, audio, pace and use of humour is exceptional. You have a multi-million dollar talent that I hope you benefit from!

  • @TrollFunMineMafia
    @TrollFunMineMafia Год назад +1

    i remember doing this in university and not understanding a thing, now it all makes way more sense! thank you

  • @VictorUn1
    @VictorUn1 Год назад +3

    I've just discovered your channel and when I finished the video I thought you would have more subscribers. The quality is mind-blowing, keep going !

  • @alejrandom6592
    @alejrandom6592 Год назад +8

    Wow this made me realize linear programming is a lot less boring than what school makes it look like. Great video ♡

  • @pedrocolangelo5844
    @pedrocolangelo5844 Год назад +18

    Seriously, I have not been this excited with a RUclips channel since I discovered 3blue1brown, and that must be about 3 years ago.
    Sir, what a masterpiece it is. Thanks for sharing it with us.

    • @macroxela
      @macroxela Год назад +1

      Check out Reducible, similar to 3blue1brown but about computer science topics. He's just as good.

  • @teodorticu2628
    @teodorticu2628 Год назад +14

    I love your videos! It feels like you explain complex things in a way that really makes them easy to understand. Your content always triggers my interest and I find myself going into rabbit holes online lol. Keep it up!

  • @schwaartz
    @schwaartz 4 месяца назад +5

    Easily the best video on linear programming

  • @namesurname1869
    @namesurname1869 Год назад

    As an industrial engineering student who is currently studying integer LP this video has to be the best way to get a grasp of the topic. Looking forward to you getting deeper into these concepts.

  • @protiumx
    @protiumx Год назад +22

    Thank you for all the work you put in these videos, I really learn a lot with them!

  • @ivanperica3731
    @ivanperica3731 11 месяцев назад

    My college professor was not bad, but this video is something else. Really utilising the technology to present complex topics in such an amazing way. I am aware of how complex and immensly time consuming these types of videos get, but please do continue making these.

  • @faustomartinezz
    @faustomartinezz Месяц назад

    Thank you very much!!
    I can't wait to see the rest of videos in Linear Programming! Congratulations on this😃

  • @Ocara31
    @Ocara31 Год назад +132

    Please, make about Non Linear Programming and also about Combinatorial Optimization. Your work is really fantastic!

  • @stjintje
    @stjintje Год назад +2

    Wow, well explained! I struggled to get through my linear programming course for 2 years, but you make it seem so simple!

  • @Alexander-oh8ry
    @Alexander-oh8ry Год назад +283

    Im impressed by your website and ran hours deep into a mathematical rabbit hole on Wikipedia. Thanks, I unexpectedly learned a lot today! But i noticed that on your website, the description of the maximum independent set problem and minimum vertex cover problem are wrong and mashed together

    • @YTomS
      @YTomS  Год назад +117

      Thanks for the kind words and the comment (you're right, the definitions were incorrect), I updated the website.

    • @ColinTimmins
      @ColinTimmins Год назад +38

      @@YTomSStating the fact that you had a correction to make and corrected it gets an extra sub from me. Thanks for the content. I’m now getting back into programming. 😊

    • @socratesphilanthropy4937
      @socratesphilanthropy4937 Год назад +6

      I have heard black hole . Rabbit hole? Thanks 4 the new term from an indian

    • @markgreen2170
      @markgreen2170 Год назад

      @@socratesphilanthropy4937 and now we have a new one 'bonus hole'

  • @WavyB1
    @WavyB1 Год назад

    i was waiting anxtiously. for the Brilliant AD. And was pleased that the video was just pure knowledge. Thank you. For this, here is a LIKE and SUBSCRIBE!!!

  • @kofiboamah8242
    @kofiboamah8242 Год назад

    i got confused from 5:45 the loosening and tightening, simplex method... i even got more confused with the introduction of the slack variables... I have saved this video i hope to watch it several times till i get it. Thank you very much for a great video

  • @maicas2002
    @maicas2002 Месяц назад +1

    This video made me like Linear Programming and helped me pass the exam, make another PLEASE

  • @BrickStopLA
    @BrickStopLA Год назад

    "Since planting a negative amount of seeds is difficult" I love it

  • @azfarahsan
    @azfarahsan Год назад

    WHERE WAS THIS VIDEO WHEN I WAS STUDYING LINEAR PROGRAMMING
    GOOD VIDEO CONGRATS 👏🏼👏🏼

  • @neobrandsainclair3407
    @neobrandsainclair3407 Год назад

    I struggled with linear programming when I was a student, but you explained it so well that it's easier for me to understand how it works. Thank you :)

  • @ShashankEarth
    @ShashankEarth Год назад

    Excellently explained!!! What a great visualization video. Waiting for more videos on Simplex and Dual Simplex. Thank you so much.

  • @UpsiteRealone
    @UpsiteRealone 7 месяцев назад

    that was really fun to watch. Thanks man I haven't took a math class in a while but, I was decently good at understanding math. You have a great way of explaining things and I love it! Keep up the content made me realize how much I loved math when I was taking it back then!

  • @Efesus67
    @Efesus67 Год назад +4

    Wow, this is awesome. The knapsack problem almost feels like it could be posed in discreet probability theory: given a random variable X, find a finite subset A of X that will maximize E[A] (=sum of p_i•x_i) and the sum of the chosen values x_i do not exceed a number k.
    Thanks for your website!

  • @priyanshugoel3030
    @priyanshugoel3030 Год назад +2

    Okay that explained slack,surplus and basic variables pretty well.

  • @senurapathirana6735
    @senurapathirana6735 2 месяца назад +5

    "Stay tuned for the next video" its been a year wya?

  • @andrijor
    @andrijor 2 месяца назад

    aahhh I'm hoping there is a next video some day. It's so nice to look back at the stuff I learned at uni!

  • @timelygoose
    @timelygoose Год назад +1

    The best explanation on this topic that I've come across, thank you sir!

  • @sarkaholendova9080
    @sarkaholendova9080 9 месяцев назад

    Wow, what a quality! I am blown away. The best video yet! Thank you :)

  • @skywind7449
    @skywind7449 Год назад +3

    cannot fathom why you chose “loose” and “tight” to use for your geometric analogy of the problem. It genuinely made the pivot section 10x harder to understand in a video that was otherwise very easy to follow along with.

    • @YTomS
      @YTomS  Год назад

      I didn't want to use basic/non-basic, because that was something I always mixed up when learning about the algorithm. I felt like "tight/loose" would convey the meaning of 0/anything, but perhaps something like "zeroed/free" would have been better...

  • @preston7376
    @preston7376 Год назад +1

    This is EXACTLY what I need to learn. One problem that came up at work was how to find the intersection of N half spaces in logarithmic time, and I couldn't understand the linear programming or the simplex method to do so... Will use this vid as a starting point to get into it. Thank you!

    • @rohith9875
      @rohith9875 Год назад

      What work do you do?

    • @preston7376
      @preston7376 Год назад +1

      @@rohith9875 graphics programming for CAD systems. Basically visual tools for modelling etc.

    • @rohith9875
      @rohith9875 Год назад

      @@preston7376 oh damn that's sounds pretty interesting

  • @feeelix
    @feeelix Год назад

    Awesome video! I believe it's only a matter of time until your channel takes off

  • @Ennuendo
    @Ennuendo Год назад +2

    Saying that planting negative seeds is "difficult" rather than "impossible" made me laugh. Great video!

  • @StentorCoeruleus
    @StentorCoeruleus 8 месяцев назад

    This is probably the most useful thing I’ve ever learned of since learning to breathe

  • @victormanuel8767
    @victormanuel8767 Год назад

    This is brilliant. You really blended theory and practical application into one cohesive whole.

  • @adolfninh23
    @adolfninh23 Год назад

    detail and down-to-earth explanation

  • @white_archive
    @white_archive Год назад

    this is an absolutely amazing video. It's animations are so beautiful and illustrate the essence of the method. After watching the video, I can confidently say that I have some real understanding of linear programming! Thanks a lot!

  • @corlaez
    @corlaez Год назад

    I found the answer intuitively as soon as the problem was presented (which is super simple of course) but it was interesting to see (around the 9:22 mark) that my logic to arrive to that answer is exactly the Dantzig's pivot rule. Thanks for the video it is super interesting that this intuition of mine has been reinforced by this method and that it can apply to more complex inequalities and more dimensions!

  • @guitarljm
    @guitarljm Год назад +1

    We need your next video!! Amazing stuff.

  • @SebastianSchwank
    @SebastianSchwank Год назад +1

    I love the bot ❤ & it"s creators+intendors!

  • @samuelkhzym9442
    @samuelkhzym9442 Год назад

    Phenomenal video! We are going through the simplex method in my linear optimization class and it was very difficult to grasp the process, let alone the intuition behind it. Thank you for making it :)

  • @kianmesgouchi1379
    @kianmesgouchi1379 3 дня назад

    Super interesting and most basic approach for the Simplex Method in LP however I was looking for a tabular calculation of Simplex Method 👍👍

  • @prathameshsundaram7509
    @prathameshsundaram7509 Год назад +1

    I love how thorough your videos are! Thanks a ton.

  • @ishungchan
    @ishungchan Год назад

    Thank you, I'm struggling with this course at my uni. Your video helps me understand it 🙏

  • @ajk7868
    @ajk7868 Год назад

    You are amazing, I was hopping to find a mathematical channel like this

  • @lunafoxfire
    @lunafoxfire Год назад +27

    I used linear programming to solve for optimal production chains in the game Satisfactory! I made an online tool and everything. To be honest I just discovered that it was a well studied class of problems and downloaded a library to do it for me, haha. I knew vaguely there was "something, something simplex method" going on under the hood but I never truly studied the algorithm. Cool to see the geometry of how it actually works!

    • @blackbriarmead1966
      @blackbriarmead1966 Год назад

      satisfactorycalculator?

    • @lunafoxfire
      @lunafoxfire Год назад +1

      @@blackbriarmead1966 I made "yet another factory planner". I would post the link but RUclips would probably eat it.

  • @AlleBalle54
    @AlleBalle54 Год назад +1

    great video, perfectly explained. Looking forward to the next one :)

  • @puneetkumarsingh1484
    @puneetkumarsingh1484 Месяц назад

    Coming back to the video after a year. It feels great to finally understand it 😅

  • @Erik_The_Viking
    @Erik_The_Viking Год назад

    Beautiful video! Well done with a simple example to show the concepts.

  • @juan.araujonog
    @juan.araujonog Год назад

    I just found your channel and this is so good. You should really be proud of your work!

  • @Spl3F
    @Spl3F 10 месяцев назад

    bro I'd pay to watch the continuation, very well explained!

  • @CarterSherman-z6n
    @CarterSherman-z6n Год назад +1

    Phenomenal video. Very well explained. This is so helpful! Simple explanation, great work sir!.

  • @fawwazanvilen6625
    @fawwazanvilen6625 Год назад

    omg you showing duality was mindblowing

  • @Mayurml-e3n
    @Mayurml-e3n 5 месяцев назад

    Maths with storytelling, best video I ever watch❤

  • @albertn0855
    @albertn0855 Год назад

    This videos is inspiring to me as I'm considering operations research as my main field of study as an applied mathematician!

  • @hot_coffee_guy
    @hot_coffee_guy Месяц назад +1

    This video is a life-saver thank you 😭🙏

  • @giovannihernandez3208
    @giovannihernandez3208 Год назад

    This is amazing. I could understand what the dual is more intuitively.

  • @patiencebear
    @patiencebear Год назад

    0:16 - you clever bastard. Instant Like.
    Turned out, it's actually trivial.

  • @samarthtandale9121
    @samarthtandale9121 Год назад +1

    Love this video , really ❣️💯❣️

  • @tatolela1234
    @tatolela1234 Год назад

    I dont usually writte comments, but in this time i had to. sincerely spectacular explanation.

  • @jackgude3969
    @jackgude3969 Год назад

    I really like the background music. Very cosy math video.

  • @gabedarrett1301
    @gabedarrett1301 Год назад

    Finally, an intuitive explanation of the simplex method! Your content matches that of 3blue1brown in terms of quality and ease of understanding! Subscribed
    Also, you might want to number the x1 and x2 tick marks

  • @jackninja1
    @jackninja1 Год назад +1

    Absolutely excellent explanation!

  • @arhamhundia3039
    @arhamhundia3039 Год назад

    Amazing video really helped me understand, thank you, please keep on making more videos.

  • @darshagarwal8307
    @darshagarwal8307 11 месяцев назад

    amazing stuff, I am working on recommender systems, and this has been quite helpful! You have just gained a subscriber :)))

  • @tunafllsh
    @tunafllsh Год назад +1

    Good job! This summarizes the course I took on LP.

  • @benwinstanleymusic
    @benwinstanleymusic Год назад

    Incredible video, thank you so much Tom! Helps so much with my optimisation course

  • @andrewcpu
    @andrewcpu Год назад +1

    Wow, just found your channel. Love it.

  • @TheLoopesMan
    @TheLoopesMan Год назад +3

    Great work as usual boss

  • @DuongNguyen-dz8pb
    @DuongNguyen-dz8pb Год назад +1

    This is so helpful! Simple explanation, great work sir!

  • @samgould8567
    @samgould8567 Год назад +1

    Great video! Just wanted to comment that most people residing in the U.S. think of a “ton” as 2000 pounds. I needed to rewind the video in your first example in order to realize that you meant a metric ton. Not a big deal, just wanted to let you know about the potential confusion. Keep up the good work!

    • @YTomS
      @YTomS  Год назад

      Thanks for the comment, I didn't know that a ton has multiple meanings :). Will keep it in mind for future videos!

  • @zoom8370
    @zoom8370 Год назад

    Nice one! This put a smile on my face.

  • @stacksmasherninja7266
    @stacksmasherninja7266 Год назад

    I lost it at "sir this is Mcdonalds"
    Keep these coming good sir

  • @ojcgv21
    @ojcgv21 Год назад

    this is an awesome video man, congrats!

  • @HughJazz13
    @HughJazz13 Год назад

    It's pretty amazing that you summarized the most important upper level Industrial (& Systems) Engineering course in under 20 minutes. When are you going to dive deeper into the iceberg??

  • @bigjukebox3370
    @bigjukebox3370 Год назад +6

    very nice video! You really did a good job at explaining this concept very much intuitively :)
    actually, just a little improvement: When representing quantities or numbers with images or in this case circles, as you did at 14:56, one naturally compares the given shapes by their area they take up.
    Thus, a twice as heavy item having twice the height is a bit misleading, since the influence of the diameter is quadratic, and it should actually have √2 times the height.
    I mean, look how miniscule the 2kg circle looks in comparison to the 4kg one, even though it is just half of that, it certainly doesn't look like that - because the area is actually 1/4 of the 4kg one.
    And, intuitively, when thinking about them as wheights, it also makes a lot of sense to say that double the area of wheight makes for double the weight.
    So, just a thing for the future, when representing numbers as shapes, always think about the area, not their sidemeasures.
    Cheers!

    • @YTomS
      @YTomS  Год назад

      Makes total sense when you say it, didn't come to mind when making the video. Thanks, will keep in mind!

  • @FaffyWaffles
    @FaffyWaffles Год назад

    I love this use of Manim. So High Quality! New Subscriber is me.

  •  Год назад

    Thank-you for this! Or should I say - děkuju?
    Finally someone from my country using manim and creating videos that I really enjoy watching!
    Keep up the great work - you have a sub from me :) Měj se!

  • @michaelangel7907
    @michaelangel7907 Год назад

    Great! superb graphics, clear explanations. thanks

  • @pablocasas1001
    @pablocasas1001 Год назад

    This video is simply wonderful please keep explaining linear programming(and hopefully any convex as well)

  • @ZhenghaoChi
    @ZhenghaoChi 3 месяца назад

    Extremely clear.

  • @ridazouga4144
    @ridazouga4144 Год назад

    Maaan thaaaanks for sharing this amazing content👏👏👏👏

  • @electra_
    @electra_ Год назад +1

    I hope you make more videos on this subject! We mentioned linear programming in school, but not much more other than "yeah you can plug in numbers to this library and it works" which was quite dissapointing... i want to know how and why it works.

  • @KshitijKaushik-w2g
    @KshitijKaushik-w2g Год назад

    Please bring out more videos and continuation of this series on LP, ILP & MILP.

  • @kameelamareen
    @kameelamareen 7 месяцев назад

    This video is simply art ❤

  • @iFastee
    @iFastee Год назад +9

    cool... it would be nice to mention that most hard problems are non-linear, non-convex, can be part of the branch of discrete decisions where it becomes computationally unscalable to use certain linear algorithms, can be multimodal (or multiobjective)... and that's where heuristic and stochastic algorithms (that have a lot of generalizations of the linear programming field) enter to even try to tackle them

    • @lpi3
      @lpi3 3 месяца назад

      That's why they are called "hard" problems. Isn't it?
      I would even say not "most hard problems", but _all_ hard problems ...

  • @N.I.R.A.T.I.A.S.
    @N.I.R.A.T.I.A.S. Месяц назад

    4:32 Imagine if a student hands in a solution to the Riemann hypothesis thinking it's homework and apologises that it took them a week.

  • @porschepanamera92
    @porschepanamera92 Год назад +2

    Very nice intro to LP. I've read about slack variables, and now they make more sense. I would love to see a follow-up to N variables, which makes it less intuitive without the geometric interpretation, and a brief note on convexity. Nonconvex optimization problems require some more exotic methods :)

  • @aglotgaming4660
    @aglotgaming4660 Год назад

    what nice video

  • @adamdemeter6963
    @adamdemeter6963 Год назад

    Quality work! Well done.