3. BÖLÜM: FIRSATLARI KOLLAYAN BİR KENT: KAYSERİ
3.3. Kayseri’de Ekonomik Sosyalleşme, Ticaret Kültürü ve Ticaret Habitusu
3.3.2. Geçmişin Kültürel Mirası: Gayrimüslimlere Bakış
O conceito de otimização atualmente está arraigado como um princípio determinante na solução de muitos problemas de decisão complexa. Além de certa elegância intrínseca ao tratamento destes problemas, freqüentemente se oferece um indispensável grau de simplicidade operacional. Utilizando a filosofia de otimização, pode-se aproximar um problema de decisão complexa, envolvendo a seleção de valores para um grande número de variáveis inter-relacionadas, através da atenção a um único objetivo definido para quantificar a performance e medir a qualidade da decisão.
Este objetivo é maximizado (ou minimizado, dependendo da formulação) sujeito às restrições que limitam a seleção dos valores das variáveis de decisão (ou de projeto). Se um aspecto conveniente de um problema pode ser isolado e caracterizado como um objetivo, a otimização oferece uma estrutura adequada para análise.
O conceito de otimização é utilizado extensivamente durante esta pesquisa. Devido à diversidade de formulações propostas com diferentes enfoques, neste capítulo faz-se uma revisão sobre os aspectos teóricos. As especificidades de implementação nos diferentes problemas são apresentadas nos capítulos seguintes, onde se define o objetivo a ser atingido juntamente com a formulação correspondente.
A seção 3.1 traz uma breve revisão sobre o conceito de programação não linear, além de termos pertinentes, tais como mínimo local e mínimo global.
A seção 3.2 faz um resumo dos resultados referentes ao método do Gradiente. A proposta de determinação de trajetória apresentada na seção 8.2 é inspirada nesta formulação. Além disto, os métodos utilizados em todas as etapas da otimização nos Capítulos 6, 7 e 8 consistem de algoritmos que têm, em essência, funcionamento semelhante ao daquele método. A seção 3.3 apresenta conceitos referentes à teoria de Controle Ótimo. Considera-se a formulação clássica de sistemas dinâmicos contínuos e sistemas dinâmicos discretos. As
propostas de otimização realizadas nas seções 7.1, 7.2, 7.5 e 7.6 consideram a solução numérica do problema de controle através de sua reformulação como problema de programação não linear.
Na seção 3.4 faz-se uma revisão sobre programação multicritério e sobre o critério de otimalidade segundo Pareto (Eschenauer et al., 1990). Este conceito é aplicado para a determinação de um índice de desempenho escalar para as estratégias propostas nas seções 6.1, 6.2, 7.2, 7.4, 7.5, 7.6 e 8.2.
A seção 3.5 traz um comentário sobre a metodologia Tunneling de otimização global. Esta metodologia foi utilizada com sucesso pelas estratégias propostas nas seções 6.2 e 7.2.
3.1 Programação não-linear
Dentre as diversas classes de problemas de otimização, muitos daqueles encontrados em robótica são formulados como problema de programação não linear restrito. Em geral, este tipo de problema tem a forma
min f(q) (3.1)
sujeito à
G(q) = 0 (3.2)
H(q) ≤ 0 (3.3)
qL≤ q ≤ qU (3.4)
O vetor q ∈ ℜ n é o vetor das variáveis de projeto. A função objetivo f(q) ∈ ℜ, as funções de restrição de igualdade G(q) ∈ℜp1 e desigualdade H(x) ∈ℜp2 podem ser funções lineares ou não lineares das variáveis de projeto q. As restrições laterais qL e qU delimitam o
domínio da função objetivo. Usualmente trabalha-se com funções contínuas que contenham derivadas contínuas (ou seja, são funções de classe C1).
Possivelmente, a primeira questão que surge no estudo de problemas de otimização é determinar quando existe uma solução para o mesmo. O principal resultado que pode ser
utilizado para responder a este ponto é dado pelo teorema de Weierstras, que estabelece: se a função objetivo f é contínua e seu domínio Ω é compacto, então existe solução para o problema proposto.
A análise de um problema de otimização pode resultar em dois tipos de solução (Luenberger, 1984): ponto de mínimo local, e ponto de mínimo global. A seguir, definem-se os conceitos relativos a estas soluções.
Definição: Um ponto q* ∈ Ω é dito ponto de mínimo relativo ou ponto de mínimo
local de f em Ω se existe ε > 0 tal que f(q) = f(q*) para todo q ∈ Ω e |q - q*| < ε. Se f(q) > f(q*) para todo q ∈Ω, q = q*, |q - q*| < ε, então q* é dito ponto de mínimo relativo estrito de
f em Ω.
Definição: Um ponto q* ∈Ω é dito ponto de mínimo global de f em Ω se f(q) = f(q*) para todo q ∈ Ω. Se f(q) > f(q*) para todo q ∈ Ω, q≠ q*, então q* é dito ponto de mínimo
global estrito de f em Ω.
Quando se considera a determinação da cinemática inversa, a solução do problema de otimização existirá se for possível posicionar o efetuador na posição cartesiana Pend, ou seja,
existe q ∈ Ω para o qual a equação da cinemática direta é satisfeita, onde Ωi representa o
intervalo de valores admissíveis para cada variável de junção (o domínio da função que descreve a cinemática do robô).
Há vários métodos destinados à determinação do valor mínimo global de uma função objetivo não linear, apesar da determinação do mínimo global de uma função não ser uma tarefa fácil para o caso geral. Métodos bastante conhecidos, como os algoritmos genéticos (Le Grand and Merz, 1993), algoritmos de evolução diferencial (Storn and Price, 1997) ou recozimento simulado (Romeijn and Smith, 1994) podem ser utilizados neste caso. Uma característica comum a estas estratégias é que o mínimo global (ou quase global) pode ser obtido através de um grande número de cálculos da função objetivo.
Motivado pelas vantagens dos minimizadores locais (relativo baixo custo computacional) e minimizadores globais (a obtenção do mínimo global), o autor utiliza a metodologia conhecida como Tunneling (Levy and Montalvo, 1985) em estratégias que buscam o mínimo global, conforme será detalhado na seção 3.5.
3.2 O método do Gradiente
O método do Gradiente é um algoritmo utilizado para a determinação do minimizador de uma função. Seu nome se deve ao fato dele utilizar a direção oposta àquela do gradiente da função, como direção de busca.
O método do Gradiente consiste da realização da seqüência de passos abaixo para minimizar uma função f definida em ℜ . Se xn k ∈ ℜ é tal que n ∇f(xk) ≠ 0, os passos para
determinar xk+1 são
Calcular dk = -∇f(xk) (3.5)
Determinar λk, minimizador de f(xk + λdk) sujeita a λ = 0. (3.6)
(Busca linear exata)
Fazer xk+1 = xk + λkdk. (3.7) Se c x b Ax x x f = T + T + 2 1 ) ( (3.8)
com a matriz A definida positiva, então existe um único x* ∈ ℜ que minimiza f. Neste caso, n a busca linear exata determina
) ( . ). ( ) ( ). ( k k T k k T k x f A x f x f x f ∇ ∇ ∇ ∇ = λ (3.9)
O teorema a seguir garante a convergência da seqüência gerada pelo algoritmo anterior (Equações (2.1) a (2.3)) para qualquer aproximação inicial (Luenberger, 1984), e estabelece que a ordem de convergência da seqüência associada {f(xk)} é linear.
Teorema 3.1: Seja f :Rn →R uma função quadrática com a matriz Hessiana A