====== 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:ko:2026_lab01_grading_and_rules.pdf | Grading and Rules}} \\ {{ :courses:ko:2026_lab01_gurobi_installation_guide.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]]| | 2 | ILP basics | CC-O | CoContest: {{ :courses:ko:2026-cocontest.pdf | Handout}} {{ :courses:ko: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:ko:2026-hw1.pdf | Handout}} [[ https://colab.research.google.com/drive/1w70DFyQU-qtYGnSE7OCCxqYyH1eYCRiT?usp=sharing | Worksheet]] {{ :courses:ko:2026-hw1-public.zip | Public instances}} \\ Catering: [[ https://colab.research.google.com/drive/1_hGqDdLiTiyrCk5lxifSNjbLEgyDIxKG?usp=sharing | Worksheet]] [[ https://colab.research.google.com/drive/1810qGeZvSc4OMSDVM1zN0l2gKM1Zjbja?usp=sharing | Solution]] \\ => video: [[ https://www.youtube.com/watch?v=zELw0vFn1Ag | Introduction]] [[ https://www.youtube.com/watch?v=_KrRTK3aWMQ | Solution]] \\ Tiles: [[ https://colab.research.google.com/drive/1dHubmtXao1c3O9q2_Jdb4Z0ZiR0xNGc5?usp=sharing | Worksheet]] [[ https://colab.research.google.com/drive/1gdZD55KiMUAMO1KyPkqRNh2PK93j6sNz?usp=sharing | Solution]] \\ [[ https://orinanobworld.blogspot.com/2011/07/perils-of-big-m.html | Blog about perils of big-M]] | | 4 | ILP 2 | | Settle Up: [[ https://colab.research.google.com/drive/1PMfxzrG4CMx1X8TLJcShneyS55RlLzOj?usp=sharing | Worksheet]], [[ https://colab.research.google.com/drive/1cQjuvcnHIhAMXuXJJwITwhY5ghUasDYm?usp=sharing | Solution]] \\ => video: [[ https://www.youtube.com/watch?v=Bk3_4xrYfxk&list=PLhMDoPPJXZWQr3a4IOw0FYVWEMq9w3t0J&index=4 | Introduction ]], [[ https://www.youtube.com/watch?v=ttee0c7ut1s&list=PLhMDoPPJXZWQr3a4IOw0FYVWEMq9w3t0J&index=6 | Solution ]] \\ Peaking Power Plants: [[ https://colab.research.google.com/drive/1MIG7gFD5jYnZw1JAffZ-kJ1riApEtrPZ?usp=sharing | Worksheet]], [[ https://colab.research.google.com/drive/1jS5QlfEGb_9IwLYSAKz_WzcqCdY76EJC?usp=sharing | Solution]] \\ => video: [[ https://www.youtube.com/watch?v=2eu-TRY6I88&list=PLhMDoPPJXZWQr3a4IOw0FYVWEMq9w3t0J&index=7 | Introduction ]], [[ https://www.youtube.com/watch?v=ZxXRYcBDrM8&list=PLhMDoPPJXZWQr3a4IOw0FYVWEMq9w3t0J&index=9 | Solution ]] \\ Tents: [[ https://colab.research.google.com/drive/1hK9Pk_Ve-6i6kGb1mbD9cOEYsZYYMC60?usp=sharing | Worksheet]], [[ https://colab.research.google.com/drive/16and0I-TNYV0vvyGZd1myMQZHeLZmXpl?usp=sharing | Solution]] \\ => video: [[ https://www.youtube.com/watch?v=U7_vIpIT3Ew&list=PLhMDoPPJXZWQr3a4IOw0FYVWEMq9w3t0J&index=8 | Introduction ]], [[ https://www.youtube.com/watch?v=ZmWZ3oNmmU4&list=PLhMDoPPJXZWQr3a4IOw0FYVWEMq9w3t0J&index=10 | Solution ]] | | 5 | ILP 3 | HW2 \\ CC-T \\ CC-R \\ **Deadline HW1** | | | 6 | Interesting ILP applications | | | | 7 | **Practical test** | **Deadline HW2** | | | 8 | Max-Flow | HW3 \\ **Deadline CC-OPT** | | | 9 | Metaheuristics, consultations | | | | 10 | Min-Cost Flow | HW4 \\ **Deadline HW3** | | | 11 + 12 | Scheduling, Bratley's algorithm | HW5 \\ **Deadline HW4** | | | 13 | Consultations, selected topics | **Deadline CC-T** \\ **Deadline CC-R** | | | 14 | Ungraded assessments, \\ SP presentations, \\ CC-R results, \\ modeling master class | **Deadline HW5** | | ===== Classroom computers ===== //If possible, bring your own computer.// **OS**: Debian Linux 64bit, 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++), PyCharm (Python), GVim, Netbeans are installed. CLion 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)]].