Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Sztuka modelowania w programowaniu całkowitoliczbowym mieszanym
Tok studiów:
2019/2020
Kod:
ZSDA-3-0301-s
Wydział:
Szkoła Doktorska AGH
Poziom studiów:
Studia III stopnia
Specjalność:
-
Kierunek:
Szkoła Doktorska AGH
Semestr:
0
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Angielski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr hab. inż. Kaczmarczyk Waldemar (wkaczmar@zarz.agh.edu.pl)
Dyscypliny:
Moduł multidyscyplinarny
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

This course provides an introduction to modeling in Mixed-Integer Programming (MIP). This is the basic tool used in planning in all areas of human activity, among others in engineering, science, medicine, management, agriculture, and industry. The special focus of this course is on practical modeling skills, the typical components of MIP models, and implementation with the help of the Python scripting language and Gurobi commercial solver. Graduates of this course should be able to use MIP models and methods in their research.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 standard MIP models and methods SDA3A_W01 Kolokwium
Umiejętności: potrafi
M_U001 build a MIP model SDA3A_U05, SDA3A_U01, SDA3A_U06 Kolokwium,
Wykonanie projektu
M_U002 use software tools to implement and solve MIP models SDA3A_U05, SDA3A_U01, SDA3A_U06 Prezentacja,
Wykonanie ćwiczeń laboratoryjnych,
Wykonanie projektu
Kompetencje społeczne: jest gotów do
M_K001 work in team SDA3A_K03 Prezentacja,
Wykonanie projektu
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
30 15 0 15 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 standard MIP models and methods + - + - - - - - - - -
Umiejętności
M_U001 build a MIP model + - + - - - - - - - -
M_U002 use software tools to implement and solve MIP models + - + - - - - - - - -
Kompetencje społeczne
M_K001 work in team - - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 90 godz
Punkty ECTS za moduł 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 30 godz
Przygotowanie do zajęć 30 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 30 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (15h):

1. Linear Programming

1.1 Standard model
1.2 Simplex algorithm

2. Mixed-Integer Programming

2.1 Standard model
2.2 Branch and Bound algorithm
2.3 Branch and Cut algorithm
2.4 Classic models
2.5 Standard model components
2.6 Valid inequalities and model reformulations
2.7 Modelling tips and tricks

3. Software tools

3.1 A Mathematical Programming Language (AMPL)
3.2 Gurobi Python interface

Ćwiczenia laboratoryjne (15h):

  1. Implementing models in AMPL with the help of GNU Linear Programming Kit.
  2. Implementing models in Python with the help of Gurobi.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: During the lecture, the teacher describes various classic models and modeling techniques with the help of multimedia presentations, spreadsheets, simulations, and other means. To stimulate student activity, the lecturer asks them questions or initiates discussions.
  • Ćwiczenia laboratoryjne: By doing laboratory exercises, the students learn about the various tools available to them. While performing projects, the students learn to formulate correct models and implement them. If necessary, the lecturer will provide guidance. While working in groups on certain projects, each student learns to allocate tasks and coordinate activities as part of a team. Writing reports on exercises and projects, the students learn to formulate observations and conclusions.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:
  1. All grades are calculated according to a scale compliant with the regulations of AGH studies. A score of 50% is required to obtain the lowest passing grade (satisfactory – 3.0).
  2. To pass the laboratory class, the student must complete all laboratory and project assignments, prepare reports, and pass each assignment. The final grade is determined as a weighted average of the grades for all assignments.
  3. To pass the course, the student needs a positive total score from all tests. On each test, questions may concern all issues considered in the class from throughout the course. The overall rating is determined as a simple average of all grades. Oral answers allow the student to gain extra credit points for the overall assessment.
  4. If the student does not pass any form of a test or assignment by the required date, he/she is entitled to retake it in a form agreed to by the lecturer.
Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: The students listen to the lecture; if they do not understand something, they should ask questions. If the lecturer asks questions or initiates discussions, the students should present their opinions. Lecture slides are available before each lecture (in the form of a PDF file). Despite this fact, the students should take their own notes during the lectures, especially when solving tasks on the whiteboard (but also to note their own observations and comments). After the lecture (and sometimes before), the students should read the recommended reading materials. Recording or filming a lecture is not allowed without the consent of the teacher.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: The students perform laboratory exercises under the guidance of the teacher or independently in small groups as they carry out different projects. After completing an exercise or project, the students will present their programs and obtained results as well as reports containing a description of their tasks, methods, observations, and conclusions.
Sposób obliczania oceny końcowej:

The student’s final grade is calculated as the average of their grades using the following weights:

Grade Weight
Tests 60%
Projects 40%
Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Absence from lectures or missed exercises will be made up by studying the issues discussed in the classroom with the help of the lecture notes available on the e-learning platform. If the student misses a test, then he/she must retake it on a date agreed to by the lecturer.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Basics of mathematics (including algebra and probability theory) are required to participate.

Zalecana literatura i pomoce naukowe:
  1. H. Paul Williams, Model Building in Mathematical Programming, Wiley, 2013.
  2. A. Eiselt, Carl-Louis Sandblom, Operations Research, A Model-Based Approach, Springer, 2012, available for download in AGH library: https://link-1springer-1com-1000048xh0028.wbg2.bg.agh.edu.pl/book/10.1007/978-3-642-31054-6.
  3. Walukiewicz, S. Integer Programming, Springer Netherlands, 1991, available for download in AGH library: https://link-1springer-1com-1000048xh0028.wbg2.bg.agh.edu.pl/book/10.1007/978-94-015-7945-2

Course software available for download (to be installed on the student’s computer):

  1. GPLK (with SciTE) available at http://home.agh.edu.pl/~waldek/glpk/
  2. Gurobi (Academic License) available at https://www.gurobi.com/academia/
  3. Python 3.6, e.g., WinPython available at https://sourceforge.net/projects/winpython/files/WinPython_3.6/
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:
  1. Kaczmarczyk, W., Sawik, T., Schaller, A. and Tirpak, T. (2004). Optimal versus heuristic scheduling of surface mount technology lines, International Journal of Production Research, 42(10): 2083-2110.
  2. Kaczmarczyk, W., Sawik, T., Schaller, A. and Tirpak, T. (2006). Production planning and coordination in customer driven supply chains, Wybrane Zagadnienia Logistyki Stosowanej, Tom 3, Komitet Transportu Polskiej Akademii Nauk, s. 81-89.
  3. Kaczmarczyk, W. (2008). Partial coordination may increase overall costs in supply chains, Decision Making in Manufacturing and Services, 2(1-2): 47-62.
  4. Kaczmarczyk, W. (2009b). Practical tips for modelling lot-sizing and scheduling problems, Decision Making in Manufacturing and Services, 3(1-2): 37-48.
  5. Kaczmarczyk, W. (2009c). Modelling multi-period set-up times in the proportional lot-sizing problem, Decision Making in Manufacturing and Services, 3(1-2): 15-35.
  6. Kaczmarczyk, W. (2009d). Inventory cost settings in small bucket lot-sizing and scheduling models, Total Logistic Management, 2: 27-36.
  7. Kaczmarczyk, W. (2011). Proportional lot-sizing and scheduling problem with identical parallel machines, International Journal of Production Research, 49(9): 2605-2623.
  8. Kaczmarczyk, W. (2020) Valid inequalities for proportional lot-sizing and scheduling problem with fictitious microperiods, International Journal of Production Economics, 219, 236-247.
Informacje dodatkowe:

Students should bring their own laptop computers to install the Gurobi solver.