Warning

Solutions to homework and contest semester project are submitted to UploadSystem where they are automatically checked and evaluated (the research semester project is also submitted to UploadSystem, however it is evaluated manually by the corresponding lab teacher). General information about the UploadSystem

• Supported programming lanugages: C++, Java, Python. The UploadSystem tries to automatically detect the language of submitted source codes by checking the file suffixes (cpp for C++, java for Java, py for Python).
• Compiled programs must be able to run on GNU/Linux operating system.
• All programs are linked with Gurobi 6.5 solver and with the exceptions specified below, the source codes are expected to be independent on other than standard libraries.
• Source codes with multiple files has to be submitted as .zip archives.

Details about input, output and command line arguments of your compiled programs are provided in the corresponding assignment PDFs.

Important: the time limits are scaled by the programming language in the homework assignments. However, this is not true for the contest semester project, i.e. all programming languages have the same time-limit in the contest semester project.

From now on, assume that $ROOT_DIR is the root directory with your submitted source codes. ## C++ details Requirements: 1. all source files must reside in $ROOT_DIR (subdirectories are not allowed)
2. all source files have either cpp or h suffix
3. one of cpp files must contain main() function

Source codes are compiled with g++ compiler, version 4.9, with flags -std=c++11 -O2 -march=native -pthread .

## Java details

Requirements:

1. all source files must reside in $ROOT_DIR/combopt directory (subdirectories are allowed) 2. all source files have java suffix 3. the top package of all source files is combopt 4. source file $ROOT_DIR/combopt/Main.java must exist and must contain the Main class with main() method

Source codes are compiled with Oracle Java compiler, version 1.8.

## Python details

Requirements:

1. source file $ROOT_DIR/main.py is the top file that will be run and therefore it must exist 2. source file $ROOT_DIR/main.py begins with shebang #!/usr/bin/env python2 (for Python2) or #!/usr/bin/env python3 (for Python3).
3. all Python files must be encoded in UTF-8.
4. if you want to use Gurobi library, import gurobipy module.

Source codes are run with cpython interpreter, version 2.7 or 3.4 (depends on shebang in \$ROOT_DIR/main.py, see above). Additional allowed libraries:

• numpy