Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

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 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.

NOTE: There is GUROBI 9 in Brute. Features highlighted in release notes of version 10 are not available nor they will be during the practical test

Gurobi 10 release notes

Plan of the Labs

Week No. Title Notes Materials
1 Introduction, Gurobi installation, LP basics Grading and rules (pdf)
Gurobi installation guide (pdf)
Gurobi examples (zip)
LP basics (Wolfram notebook)
Lab1 notebook
2 ILP basics CoContest (pdf), Public instances
ILP basics (Jupyter), ILP basics (pdf)
ILP basics (solutions)
ILP book with examples
Gurobi interactive examples
3 ILP 1 HW1 HW1: Assignment, Call center (jupyter), Public instances
Catering: Handout, Jupyter, Video, Solution (video), Solution (jupyter)
Notes and issues with big M
Tiles: Handout Jupyter Solution (jupyter)
4 ILP 2 Settle up: Handout, Jupyter, Video, Video, Solution (jupyter) Solution (video)
Peaking power plants: Handout (pdf), Handout (jupyter), Video, Solution (jupyter) Solution (video)
Tents in the forest: Handout (pdf), Handout (jupyter), Video,Solution (jupyter), Solution (video)
5 ILP 3 HW2 HW2: Assignment, Video, Public instances (zip),
Lazy constraints: Handout (pdf), Video, Circle approximation (Wolfram notebook), Circle approximation (python)
Baseline TSP
6 Interesting ILP applications Game of Fivers: Game, Video, Handout (pdf), Handout (jupyter)
Rubik's cube: Video, Handout (pdf), Handout (jupyter)
Verification of DNNs: Video, Handout (pdf), Handout (jupyter)
7 Metaheuristics + consultations CC Metaheuristics: Handout (jupyter)
Optional materials on SPT: Handout (pdf), czech_republic.txt, image_approximation_skeleton.zip, Content-aware image resizing
Practical test training: Assignment (pdf), Public instances (zip)
CoContest: Threshold public instances
8 Practical test
9 Max-Flow HW3 Max-Flow: Handout (pdf), Lab materials (video)
HW3: Assignment (pdf), Initial feasible flow for FF (video), Public instances (zip)
10 Consultation Optional materials: Dynamic programming (pdf), Nonograms (pdf), Nonograms (zip)
11 + 12 Scheduling - Bratley's algorithm HW4 Bratley and HW4: Assignment (pdf), Lab materials and HW4 (video), Public instances (zip), Scheduling ZOO
13 Modeling master class Advanced modeling: Handout (pdf), Handout (jupyter),
CP overview: Presentation (pdf)
Min-cost flow: Handout (pdf)
Image reconstruction: Handout (pdf), Handout (jupyter)
Game of Life: Handout (pdf), Handout (jupyter)
14 Consultations, ungraded assessments, SP presentations CoContest results: CoContest results (pdf)

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 FEL VPN (CZ)/ FEE VPN (EN).

courses/ko/labs.txt · Last modified: 2023/05/26 10:34 by grusjose