Course detail

Computing Methods in Optimization Problems

FSI-VOU-A Acad. year: 2027/2028 Summer semester

The course focuses on mathematical modeling and computational solution of optimization problems arising in engineering applications. Students are introduced to the fundamental principles of optimization, mathematical model formulation, and the use of appropriate software tools and optimization solvers. The main emphasis is on translating practical engineering problems into mathematical models, implementing these models correctly, and interpreting the obtained results.

The course covers linear, quadratic, and convex optimization models, integer and mixed-integer programming, linearization techniques, and modeling using special ordered sets (SOS1 and SOS2). Further topics include black-box optimization and simulation-based optimization, dynamic optimization models, and optimization under uncertainty, including stochastic and robust formulations.

Students are introduced to optimization software tools, including Excel, MATLAB, and Julia. Computer-assisted exercises focus primarily on the Julia programming language and the JuMP modeling framework. Using practical engineering problems, students construct and modify optimization models, select suitable solvers, validate solutions, and evaluate the effects of model parameters and input data.

Language of instruction

English

Number of ECTS credits

7

Entry knowledge

Students are expected to have a basic understanding of differential and integral calculus, linear algebra, probability theory, and mathematical statistics.

They should be able to work with mathematical expressions, functions, vectors, and matrices, solve simple systems of equations, and interpret numerical results.

Basic programming skills are required, including familiarity with variables, fundamental data types, control flow, and functions, as well as the ability to implement simple computational procedures. Previous experience with Julia, JuMP, or specific optimization solvers is not required.

Rules for evaluation and completion of the course

Course-unit credit: Active participation in the seminars, elaboration of a given project. Examination: Written.
Attendance at seminars is controlled. An absence can be compensated for via solving additional problems.

Aims

Upon successful completion of the course, students will be able to:

  1. Formulate and classify practical engineering optimization problems by identifying decision variables, objective functions, and constraints, and select suitable mathematical model types.

  2. Construct, implement, and solve mathematical optimization models using Julia and the JuMP modeling framework, select appropriate optimization solvers, and verify the feasibility and correctness of the obtained solutions.

  3. Formulate and analyze linear, quadratic, and selected convex optimization models, and interpret their solutions with respect to objective values, active constraints, and changes in input parameters.

  4. Construct and solve selected integer and mixed-integer optimization models for engineering applications, particularly in logistics and scheduling, using appropriate linearization techniques and modeling constructs, including SOS1 and SOS2.

  5. Distinguish and model selected black-box optimization problems, simulation-based optimization problems, and time-dependent decision processes, propose suitable computational solution approaches, and interpret the obtained results.

  6. Formulate and compare selected stochastic and robust optimization models involving uncertain data, evaluate the effects of uncertainty on the obtained solutions, and justify the selection of suitable modeling approaches.

Study aids

Students are provided with lecture presentations, exercise assignments, and sample implementations of selected optimization models. The materials are made available via the university's e-learning environment.

The study programmes with the given course

Programme B-STR-P: Engineering, Bachelor's
specialization AIŘ: Applied Computer Science and Control, compulsory

Type of course unit

 

Lecture

26 hours, optionally

Syllabus

1. Introduction to optimization (basic concepts).
2. Software tools for optimization: languages/enviroments: EXCEL, MATLAB, Julia. The use of solvers.
3. – 5. Optimization problems in engineering, types of optimization models (linear, quadratic, convex, etc.)
6. – 7. Integer programming problems – applications in logistics, scheduling, etc.
8. Linearization, modelling with SOS1 and SOS2 variables.
9. Black-box optimization and optimization within a simulation environment.
10. Dynamic optimization models.
11. – 13. Models with uncertain data – stochastic and robust formulations.

Computer-assisted exercise

39 hours, compulsory

Syllabus

1. – 2. Introduction to Julia and JuMP modelling framework.
3. – 6. Implementation and analysis of models of engineering optimization problems.
7. – 9. Implementation and analysis of integer programming models.
10. Implementation and analysis of black-box models.
11. – 13. Implementation of models with uncertain data.