Modelling for Combinatorial Optimisation (course 1DL451)
&
Combinatorial Optimisation and Constraint Programming (course 1DL442)

(back to the course homepage)

Contact, Help, Ethics, and FAQ

Contact & Help & Ethics

Before contacting anyone for help, please check whether your question has an answer in the FAQ list below. If not:

Ethics

The legislation on plagiarism and cheating (summary) of Uppsala University will be rigorously applied, without exceptions. This disallows using a public repository (such as GitHub, where you should use a free private student repository) for code management within your team: this is particularly important for part 2 of course 1DL442, where the same quizzes and assignments and are used worldwide in a massive open online course. We reserve the right to use plagiarism detection tools and point out that they are extremely powerful.

When submitting you implicitly certify that your report and all its uploaded attachments were produced solely by your team, except where explicitly stated otherwise and clearly referenced, that each teammate can individually explain any part starting from the moment of submitting your report, and that your report and attachments are not be freely accessible on a public repository.

Frequently Asked Questions (FAQ) and Answers

A. Generalities

  1. Which of the two courses (M4CO and COCP) should I choose? The COCP course goals form a superset of the M4CO course goals: M4CO (period 1) is actually the first half of COCP (periods 1 and 2).

    M4CO does not explain (in detail) the algorithms within the solvers of the various solving technologies in the MiniZinc toolchain: we just use them, which is difficult enough given that declarative modelling (stating what problem is to be solved) is a totally alien concept to students who are only used to procedural programming (stating how to solve the problem).

    The second half of COCP fully explains all the algorithms within solvers of CP (constraint programming) technology, whereas the algorithms within solvers of other technologies (SAT, MIP, etc) are explained to some degree in other courses. For example, course 1TD184 (Optimisation) explains some algorithms within the solvers of MIP (mixed integer programming) technology, among other things, and is thus orthogonal and complementary to both M4CO and COCP: so it is up to you to decide how much and which optimisation you want to study. Another difference is that course 1TD184 is about continuous optimisation (over real numbers), whereas M4CO and COCP are about combinatorial (or: discrete) optimisation (over discrete sets, such as integers, enumerations, etc).

    Note that CP solvers are crucial for MiningZinc, a data-mining extension to MiniZinc, so understanding CP is useful if you want to study declarative mining.

  2. Will I get rich after passing this course? There is no limit to the need for competent experts on combinatorial optimisation. See some CP success stories and the articles Constraint Programming in Sweden, Constraint Technology and the Commercial World (these links work from the UU network), and Constraint Programming -- The Paradigm to Watch, for instance.

B. Lectures, Slides, and Literature

  1. Which book, if any, should I buy? The reference book (not textbook) by Apt is primarily for those who would like to know more about the mathematical foundations of constraint programming. However, many passing students reported having bought no book at all, relying solely on the lecture slides and extra material as well as the Resources page.

  2. What to do if I missed a lecture? Why are the lecture slides so concise, rather than telling the whole story? Lecture slides are by construction just the backbone for interactive teaching: they contain the essential results, models, and algorithms, so that no time is spent writing them to/from the blackboard. Also, a teacher complements this backbone with a lot of important insights, both in writing on the blackboard and in talking, so the attending students ought to take notes in order to document the complete story. If you take no notes or missed a lecture, then the slides alone often do not suffice to reconstruct the complete story, so you should then consult other sources, such as the extra material or the reference book, and should ask an attending student (not a teacher) which material was covered in your absence.

  3. Why are there not more examples and solved exercises in lectures? Like every course, this course has a required theoretical content (course goals for COCP and course goals for M4CO) and the standard time budget (students are 33% fulltime on this course, and no teacher is anywhere near fulltime on any course): the balance of theory and practice in the lectures simply follows from these data and is not a sign of our bad will. On the contrary, if allocated more time (but this is impossible), then we would love to offer additional practical problem solving sessions. Note that there are help and solution sessions for the assignments.

C. Assignments, Project, Help Sessions, Grading Sessions, and Solution Sessions

  1. Why are there not more assistants? Why are there not more examples and solved / supervised exercises by assistants in lessons? Like every course, this course has the standard time budget (students are 33% fulltime on this course, and no teacher is anywhere near fulltime on any course): the number of sessions simply follows from these data and is not a sign of our bad will. On the contrary, if allocated more time (but this is impossible), then we would love to offer additional practical problem solving sessions.

  2. How do I best use my time, and yours, in order to solve an assignment? Prepare your solution as far as possible until the corresponding help sessions, in order to make best use of those reserved timespans of personal attention by the assistants. This is much more effective than going to a help session, printing out the assignment statement (which was published at least a week before the first help session and often does not require any material taught in the meantime), and not meeting all the difficulties until the end of the two session hours.

  3. Why is there not more email support for the assignments and project? We have scheduled almost all the standard time budget for the lectures, help sessions, grading sessions, solution sessions, grading, and preparation. This is why we can only answer to emailed short questions that trigger brief reply times, and this is a more personal and rational way of spending the standard time budget: more email support would inevitably result in fewer help sessions.

  4. I am lost! Why do the assignment statements not tell us how to solve the questions? Stating only what output has to be computed from the inputs is a pedagogical choice. In real-life engineering problems, you are not asked to solve a problem by using method m on page p of textbook t. Come to some of the help sessions of an assignment in order to get advice on what is wrong with your current solution or hints on how to proceed. If you think a task is insufficiently described in terms of its parameters and constraints, then contact the teachers: we vet problem descriptions with utmost care and no flaws are due to purpose or sloppiness.

  5. Why are the assignment questions not in sync with the lecture contents, nor closer to them? See the answer to the previous question.

  6. Why are there not a lot of small assignments rather than the few bigger ones? Combinatorial optimisation is best practised not by drill of small questions with no relation to each other or real life, but by tackling bigger assignments, which have been selected as examples of the infinite variety of interesting questions that occur in real life.

  7. Why do we need to hand in reports in addition to code? This is a course on combinatorial optimisation and your code has to be experimentally evaluated, hence a report is needed, as we are not just interested in your models, but also in how you discovered and evaluated them. Also note that this course was chosen in order to fulfil the curriculum goal of the ability to communicate orally and in writing: see the course goals for 1DL442 and the course goals for 1DL451.

  8. Why do we not get more finegrained feedback on our assignment reports and code? Our solution sessions are a more rational way to use the standard time budget: we give collective feedback instead of finegrained teamwise feedback. More detailed comments can be obtained orally from the assistants upon appointment.

  9. Why can I not do the assignments alone? Teamwork is usually a very rewarding experience, whether you learn from or teach to the other student, especially for a course like this where the assignments and project are unlike almost everything you have seen before: choose a teammate whose skills are not interchangeable with yours. Note that the assignments are downsized for students who work alone and have an approved reason for this.

D. Credit Points and Overall Grades

  1. I will miss (or have missed) a mandatory event: is pre-booked travel considered force majeure? Of course not: full-time students are expected to work full-time during all working days and working hours, so all absences are at the risk of the student and no exceptions are made for travelling students, especially that the schedules, including the mandatory events, are published many weeks in advance.

  2. I passed the assignments or project, but why are my credit points not reported yet to Ladok? Studium is not automatically reporting awarded credit points to Ladok, but there is a manual process involved in that. So be patient and do not worry until at least a month after the official end of the course.

E. Resources, Contact, Help, FAQ, Evaluation, and Feedback

  1. How do I install the MiniZinc and MiniCP toolchains on my own computer? See the Resources page.

  2. Why do I not get a reply to my emailed query? On working days and hours, you can normally expect a reply within a few hours, provided the question is brief, unanswered in this FAQ, and answerable in a short time.

  3. Are you interested in additional links to great internet resources? Yes, absolutely! Send us an email with links, and we will add the best ones to the Resources page.


Last modified: Wed Aug 9 10:02:30 CEST 2023