Otimização de processos em Python utilizando GEKKO/APMonitor

Aprenda na prática a resolver problemas de otimização em Python com a suíte de optimização gratuita GEKKO/APMonitor

4.31 (8 reviews)
Udemy
platform
Português
language
Engineering
category
56
students
10 hours
content
Apr 2021
last update
$19.99
regular price

What you will learn

Formular matematicamente diferentes problemas de otimização de processos apresentados nos estudos de casos.

Identificar a função objetivo, as variáveis de decisão, as restrições de igualdade e desigualdade e os graus de liberdade do problema de otimização.

Escolher o tipo de algoritmo de otimização mais adequado para o tipo de problema de otimização que se pretende resolver.

Instalar Python e as principais bibliotecas científicas utilizando a distribuição “Anaconda”.

Instalar GEKKO, interfase para Python da suíte de otimização “APMonitor”.

Implementar a formulação matemática do problema de otimização em Python, utilizando a linguagem de modelagem algébrica de GEKKO.

Resolver o problema de otimização utilizando os algoritmos de otimização gratuitos disponíveis em GEKKO/APMonitor.

Resolver o problema de otimização utilizando os algoritmos de otimização gratuitos disponíveis em GEKKO/APMonitor e interpretar os resultados obtidos.

Conferir os resultados das otimizações mediante gráficos no caso que a dimensão do problema assim o permita.

Serão apresentados estudos de casos que envolvem a solução de problemas de otimização lineares (LP), não lineares (NLP), com variáveis inteiras além das contínuas (MILP/MINLP) e otimização multiobjetivo (MO).

Description

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.

Content

Introdução

Conteúdo do curso
Teoria básica sobre otimização
Básico do Python
Suíte de otimização GEKKO/APMonitor
Resolvendo nosso primeiro problema de otimização

Programação linear (LP)

O problema da atribuição ótima
O problema da transportação ótima
O problema da produção ótima

Programação não linear (NLP)

Operação ótima de um processo de separação por membranas
Otimização do projeto de um sistema de reatores em série
Otimização do projeto de um sistema de trocadores de calor

Otimização linear e não linear inteira mista (MILP e MINLP)

Linearização por partes de um problema não linear
Configuração ótima do processo de produção
Otimização do projeto de um sistema de trocadores de calor aplicando MINLP
Otimização da operação de um forno

Otimização multiobjetivo

Exemplo numérico simples de objetivos conflitantes
Otimização multiobjetivo de um sistema de reatores em série

Screenshots

Otimização de processos em Python utilizando GEKKO/APMonitor - Screenshot_01Otimização de processos em Python utilizando GEKKO/APMonitor - Screenshot_02Otimização de processos em Python utilizando GEKKO/APMonitor - Screenshot_03Otimização de processos em Python utilizando GEKKO/APMonitor - Screenshot_04

Charts

Price

Otimização de processos em Python utilizando GEKKO/APMonitor - Price chart

Rating

Otimização de processos em Python utilizando GEKKO/APMonitor - Ratings chart

Enrollment distribution

Otimização de processos em Python utilizando GEKKO/APMonitor - Distribution chart
3874714
udemy ID
2/25/2021
course created date
4/10/2021
course indexed date
Bot
course submited by