Follow

Como abordar sistemas nos quais o domínio de um parâmetro varia com o valor de outra variável de entrada?

  Existem problemas de otimização nos quais os limites de uma dada variável de entrada não são fixos, mas 
 variam com o valor de outra variável de entrada. Exemplo:
 - A escolha do líquido refrigerante (1, 2,3) em um trocador de calor. 
  O domínio da temperatura de operação permitido é diferente para cada líquido refrigerante:
  Líquido 1: 10~60 °C Líquido 2: 5~95 °C Líquido 3: 50~200 °C
  Assim, o domínio da variável "Temperatura" depende do valor da variável "Tipo de Refrigerante".
 
 Este tipo de problema pode ser abordado de duas maneiras: definindo restrições ou usando uma função 
 que mapeie os designs de um domínio conhecido para a região viável.
 
 DEFININDO RESTRIÇÕES (Ver Anexo non_linear_constraint.prj)
 Esta metodologia postula a existência de duas funções de restrição contínuas, y=f1(x) é a função que limita 
 inferiormente o domínio de uma dada variável de entrada e y=f2(x) é a função que o limita superiormente. Onde 
 x, y são as variáveis de entrada da otimização. 
 Estas funções são escolhidas como sendo polinomiais de grau n-1, onde n e o número de elementos da variável
 independente x. A função deve ser desse grau para garantir a solução única, enquanto a escolha da função 
 como sendo polinomial foi feita por facilidade, a seleção de outro tipo de funções não interfere no domínio viável 
 resultante.
  
 1- Determinar os valores dos coeficientes das funções f1 e f2 substituindo cada valor y com seus respectivos 
  valores limites.
 2- Criar dois nós de Restrição dentro do Workflow do modeFRONTIER relacionando as duas variáveis de entrada x, y.
 3- Escrever no campo "User Expression" de um dos nós de restrição:
  f1(x)-y Less Than 0.0
 4- Escrever no campo "User Expression" do outro nó de restrição:
  f2(x)-y Greater Than 0.0
 
 
 MAPEANDO UM CONJUNTO DE VARIÁVEIS NORMALIZADAS PARA A REGIÃO VIÁVEL (Ver Anexo linear_map_to_feasible_domain.prj)
 Esta abordagem cria pontos dentro de um conjunto normalizado [0, 1] que mediante a escolha de funções lineares 
 adequadas serão mapeados para a região viável. 
 
 1- Criar no modeFRONTIER duas variáveis de entrada x1 e x2 com limite inferior 0 e limite superior 1.
 2- Criar um nó Calculadora e ligá-lo aos nós "Input Variable" do passo 1.
 3- Editar as seguintes expressões na calculadora
  x=(up-low)*x1 + low
  f1= f1(x)
  f2= f2(x)
  y=(f2-f1)*x2 + f1
  
  Onde:
  up: limite superior da variável de entrada x
  low: limite inferior da variável de entrada x 
  x1, x2: variáveis normalizadas
  f1(x), f2(x): mesmas funções definidas na metodologia anterior
  y: variável de entrada cujo domínio depende do valor de x

Was this article helpful?
3 out of 3 found this helpful
Have more questions? Submit a request

Comments


Powered by Zendesk