Neste curso são apresentados os principais tipos de otimização comumente utilizada na engenharia de processos / engenharia de produção / engenharia química e é ensinado na prática como solucionar esses problemas em Python, utilizando a suíte de otimização gratuita GEKKO/APMonitor.
Na Seção 1, Introdução, é apresentado primeiramente o conteúdo do curso, que começa na teoria básica e inclui a resolução prática dos principais tipos de problemas de otimização: Programação Linear (LP), Programação Não Linear (NLP), Programação Linear e Não Linear Inteira Mista (MILP/MINLP) e Otimização Multiobjetivo (MO). As duas aulas seguintes estão dedicadas à introdução dos conceitos fundamentais sobre otimização e ao básico de Python, para que aqueles alunos que começam do cero mesmo consigam se nivelar e acompanhar o restante do curso. A terceira aula já realiza a introdução à suíte de otimização APMonitor/GEKKO, que de conjunto com Python é a ferramenta computacional utilizada para a resolução dos problemas de otimização apresentados nos diferentes estudos de casos. Como o curso tem um viés prático (bem mão na massa mesmo) finalizamos essa seção introdutória já resolvendo nosso primeiro problema de otimização.
As seguintes seções são todas de caráter prático, sendo apresentado um estudo de caso (problema de otimização a ser resolvido) em cada aula. Para cada caso de estudo é realizada a interpretação do problema, transformando da linguagem verbal para a linguagem matemática, com a correspondente formulação matemática do problema. Finalmente, a formulação matemática do problema é implementada no Python, utilizando a linguagem de modelagem algébrica do GEKKO, e determinada a solução do problema de otimização, assim como também se realiza a interpretação os resultados obtidos.
A Seção 2 é dedicada ao estudo da programação linear (LP) e na Seção 3 são tratados problemas de otimização não lineares (NLP). Em cada uma dessas seções são apresentados 3 casos de estudo diferentes. Já na Seção 4 são resolvidos 2 estudos de caso de programação linear inteira mista e 2 estudos de casos de programação não linear inteira mista, totalizando 4 estudos de casos a serem resolvidos. Finalmente, na Seção 5 apresentam-se 2 estudos de caso para abordar a otimização multiobjetivo.
Ao final de cada seção prática é deixado um exercício individual (tarefa) para que o aluno coloque mão na massa e possa testar as habilidades e conhecimentos adquiridos durante ela.