Lecture XIII - Recap and Discussion

Applied Optimization with Julia

Dr. Tobias Vlćek

Introduction

Congratulations!

Solutions

You will likely find solutions to most exercises online. However, I strongly encourage you to work on these exercises independently without searching explicitly for the exact answers to the exercises. Understanding someone else’s solution is very different from developing your own. Use the lecture notes and try to solve the exercises on your own. This approach will significantly enhance your learning and problem-solving skills.

Remember, the goal is not just to complete the exercises, but to understand the concepts and improve your programming abilities. If you encounter difficulties, review the lecture materials, experiment with different approaches, and don’t hesitate to ask for clarification during class discussions.

Later, you will find the solutions to these exercises online in the associated GitHub repository, but we will also quickly go over them in next week’s tutorial. To access the solutions, click on the Github button on the lower right and search for the folder with today’s lecture and tutorial. Alternatively, you can ask ChatGPT or Claude to explain them to you. But please remember, the goal is not just to complete the exercises, but to understand the concepts and improve your programming abilities.

You’ve finished the course and learned how mathematical models can be used to solve real-world problems! 🎉

Topics Covered

Topic Original Problem1
Solar Panel Transport Classic Transport Problem
Beer Production Capacitated Lot Sizing Problem
Split Delivery Minimization Multiple-Quadratic-Knapsack Problem
Library Routing Capacitated Vehicle Routing Problem
Police Service Districting P-Median Problem
Safety Planning Hajj Pilgrimage Scheduling Problem
Arena Seating 2-D Knapsack Problem
Passenger Flow Control Network Flow Problem

Any questions

regarding the

past lectures?

What have we learned?

  • How to identify and abstract real-world problems
  • How to start programming in Julia
  • How to model and solve optimization problems
  • How to question model assumptions

Tip

That’s a lot and a great foundation for a seminar or a master thesis!

How to continue?

How to continue after the lecture?

  • The best way is to keep programming and modeling
  • We are offering seminars and master thesis
  • Try to find a way to apply programming in your work
  • There are many interesting topics to explore!

Tip

Getting your supervisors on board is the hardest part! But note, that it is often worth it and the tools we have used are all free and open-source.

Concrete Next Steps

  • Join online communities on Julia and Optimization
  • Contribute to open-source projects if you can
  • Follow key researchers and practitioners
  • Start a small personal project using the tools learned

Tip

If you want to start a small personal project, try to find a problem that you are interested in and that you can solve using the tools we have learned.

Start Pair Programming with AI

  • First, try to be confident with the basics of a language
  • Always try to understand the code you use
  • If you want to try AI pair programming, use Cursor as IDE

Tip

Cursor is a great IDE for AI pair programming, although it is not completely free. It has Claude and ChatGPT integrated and makes work much easier when compared to copying and pasting code.

Final Words

That’s it for the Lecture Series!

  • I hope you enjoyed the lecture and found it helpful
  • On Friday, we will have a discussion session
  • You can earn the last half-bonus point for the exam
  • I wish you all the best for your studies and your career!

Note

If you have any questions on optimization in the future, feel free to contact me!

Questions?