Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Otimização de processos em Python utilizando GEKKO/APMonitor
Highest Rated
Rating: 4.4 out of 5(11 ratings)
83 students

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
Last updated 4/2021
Portuguese

What you'll 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 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 otimização linear (LP), não linear (NLP), inteira mista (MILP/MINLP) e multiobjetivo (MO).

Course content

5 sections17 lectures9h 47m total length
  • Conteúdo do curso10:54

    Nesta aula é apresentado, em linhas gerais, o conteúdo do curso. São comentados os diferentes casos de estudo que serão resolvidos durante o curso e tarefas que serão indicadas para que os alunos apliquem de forma individual os conhecimentos adquiridos em cada seção.

  • Teoria básica sobre otimização21:14

    Nesta aula é realizada uma introdução teórica básica sobre otimização para aqueles alunos que estão começando nesta área. São explicados os conceitos fundamentais, assim como as características 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). Caso você já seja experiente na área de otimização pode pular esta aula.

  • Básico do Python58:50

    Nesta aula é realizada uma introdução básica ao Python para aqueles alunos que começam do zero mesmo. Será detalhado o processo de instalação do Python, a utilização de bibliotecas como "numpy", "pandas" e "matplotlib", e a aplicação de condicionais e ciclos iterativos. Caso você já seja experiente em Python pode pular esta aula.

  • Suíte de otimização GEKKO/APMonitor32:23

    Nesta aula é realizada a introdução à suíte de otimização APMonitor e sua interfase para o trabalho em Python, GEKKO. Explica-se como instalar o GEKKO e detalham-se os principais elementos da linguagem de modelagem algébrica dessa ferramenta, assim como os solvers gratuitos disponíveis para resolver problemas de otimização.

  • Resolvendo nosso primeiro problema de otimização29:00

    Nesta aula é apresentado e resolvido um problema de otimização bem simples que permite reafirmar os conceptos e habilidades estudados durante a Seção “Introdução”.

Requirements

  • Conhecimentos básicos de cálculo e de engenharia.
  • Conhecimentos básicos de otimização.
  • Recomendado conhecimento básico de Python, embora não seja imprescindível.

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.

Who this course is for:

  • Estudantes de graduação e pós-graduação em engenharias e ciências exatas que precisam encontrar a solução ótima para um problema.
  • Engenheiros, analistas ou tecnólogos encarregados da melhora dos processos.
  • Pessoas em geral interessadas na otimização de processos.