====== Labs ====== The goal of the labs is to exercise the topics presented on lectures. On some labs you will receive homework assignment, which are implementation of an algorithm or a method solving some interesting combinatorial optimization problem. In all cases, the solutions to homework assignments are submitted to [[https://cw.felk.cvut.cz/brute/|Brute]] where they are automatically checked and evaluated. Late upload will be penalized by -1 point for each week after deadline. Completing all homeworks successfully (i.e., the output is classified as //correct// according to Brute) is a mandatory requirement for the assessment. Moreover, we encourage you to solve the homeworks since in the practical test you will use algorithms implemented for the homeworks. ===== Plan of the Labs ===== ^ Week No. ^ Title ^ Notes ^ Materials ^ | 1 | Introduction, Gurobi installation, LP basics | | {{ :courses:rm35koa:2026_rules_grading_koa.pdf | Grading and Rules}} \\ {{ :courses:rm35koa:01_gurobi_installation.pdf | Gurobi Installation Guide}} \\ {{ :courses:ko:2026_lab01_gurobi_example.zip | Gurobi Example (code) }} \\ Introduction: [[ https://colab.research.google.com/drive/1635gKL4Sp-_Y1PkQagsjFt74wtWrLqKU?usp=sharing | Worksheet]] [[ https://colab.research.google.com/drive/1I3frh0Lhhk59maXQIvoRsbYV824ZYg3z?usp=sharing | Solution]]\\ Transportation: [[ https://colab.research.google.com/drive/1vRegLBA7Kc19Yu8s5XFHKD8D0dKVyRgl?usp=sharing | Worksheet]] [[ https://colab.research.google.com/drive/1PenAW4pRK5DiwZuomLuZMctBrw38ZsNR?usp=sharing | Solution]] \\ //Optional:// {{ :courses:rm35koa:01_koa_simplex_notes.pdf | Simplex worst case notes}}, {{ :courses:rm35koa:01_worst_case_simplex.nb.zip | Wolfram simplex}}, {{ :courses:rm35koa:karmarkarsalgorithmforlinearprogrammingproblem-091203083518-phpapp02.pdf | LP algorithms}} | | 2 | Semestral work, ILP basics | CC-O | CoContest: {{ :courses:rm35koa:2026-cocontest-koa.pdf | Handout}} {{ :courses:rm35koa:2026-cocontest-public.zip | Public instances}} \\ Basics: [[ https://colab.research.google.com/drive/1E4Q54yoIP2PXDP2pXlo4ijV9xOzLfpyc?usp=sharing | Worksheet]] [[ https://colab.research.google.com/drive/1-M-rjNcvrWH8g7NSN9Nn5ApilotIize-?usp=sharing | Solution]]\\ [[ https://www.gurobi.com/jupyter_models/?_sft_difficulty_level=beginner | Gurobi Official Interactive Examples ]] \\ [[ https://www.wiley.com/en-us/Model+Building+in+Mathematical+Programming%2C+5th+Edition-p-9781118443330 | Mathematical Programming Book with Examples ]] | | 3 | ILP 1 | HW1 | HW1: {{ :courses:rm35koa:2026-hw1.pdf | Handout}} {{ :courses:rm35koa:2026-hw1-public.zip | Public instances}} \\ Call center [[ https://colab.research.google.com/drive/1WnouSD5_y57RIfr6VWhLP7zF4pHRTtGK | Worksheet]] [[ https://colab.research.google.com/drive/1IpaW4vAS7WsKRGmo2nztIQjmPc6HBUn3?usp=sharing | Solution]]\\ Catering: [[ https://colab.research.google.com/drive/1_hGqDdLiTiyrCk5lxifSNjbLEgyDIxKG?usp=sharing | Worksheet]] [[ https://colab.research.google.com/drive/1810qGeZvSc4OMSDVM1zN0l2gKM1Zjbja?usp=sharing | Solution]] \\ [[ https://www.youtube.com/watch?v=zELw0vFn1Ag | Video]] [[ https://www.youtube.com/watch?v=_KrRTK3aWMQ | Solution]] \\ [[ https://cw.fel.cvut.cz/b242/_media/courses/rm35koa/koa_computablefunctions.pdf | Computable vs uncomputable functions (optional)]] | | 4 | ILP 2 | | Settle Up: [[ https://colab.research.google.com/drive/1PMfxzrG4CMx1X8TLJcShneyS55RlLzOj?usp=sharing | Worksheet]] \\ Peaking Power Plants: [[ https://colab.research.google.com/drive/1MIG7gFD5jYnZw1JAffZ-kJ1riApEtrPZ?usp=sharing | Worksheet]] \\ Tiles:[[ https://colab.research.google.com/drive/1dHubmtXao1c3O9q2_Jdb4Z0ZiR0xNGc5?usp=sharing | Worksheet]] \\ [[ https://orinanobworld.blogspot.com/2011/07/perils-of-big-m.html | Blog about perils of big-M]] | | 5 | ILP 3 | HW2 | | | 6 | Unexpected ILP applications | | | | 7 | Metaheuristics + consultations | | | | 8 | SPT | CC-O | | | 9 | Max flow | HW3 | | | 10 | Min-cost flow | | | | 11 | [Cancelled] | | | | 12 | DP/approx | | | | 13 | Scheduling | HW4 | | 14 | Scheduling, CP masterclass | | | ===== Classroom computers ===== **OS**: Debian Linux 64b, select Ubuntu during booting **Login**: uses credentials from Department of Computers. If you haven't use them before, setup them at https://www.felk.cvut.cz/labpass/ **Development environments**: CLion (C++), IntelliJ (Java), PyCharm (Python), GVim, Netbeans are installed. CLion, IntelliJ and PyCharm are installed in ''/opt'' and their license have to be activated via creating JetBrains account with faculty email. **VPN**: Gurobi (Academic) licence can be obtained for free, but only from the university network; to access it remotely, you can use VPN - for more info see [[https://svti.fel.cvut.cz/cz/services/vpn.html | FEL VPN (CZ)]]/[[ https://svti.fel.cvut.cz/en/services/vpn.html | FEE VPN (EN)]].