Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de Exercícios -‐ Modelagem de representação cromossômica e função fitness Para cada um dos problemas descritos abaixo: • crie uma ou mais representações “cromossômicas” capazes de representar uma solução para o problema, deixando claro qual é o alfabeto que pode ser utilizado para instanciar os genes. No caso de sua representação não ser “autoexplicativa”, acrescente uma discussão textual sobre ela. • crie uma função fitness (função de avaliação) adequada para avaliar os cromossomos. Determine o intervalo em que essa função deve ser otimizada. Especifique se é um problema de minimização ou maximização; • para cada representação cromossômica que você criar, mostre uma solução representada e o seu valor de fitness; • discuta as representações criadas quanto à possibilidade de criação de soluções infactíveis quando operadores de crossover ou mutação são aplicados sobre os cromossomos. Ilustre sua resposta; • no caso dos operadores de crossover ou mutação criarem soluções infactíveis, proponha uma estratégia de correção das soluções e analise se tal estratégia é viável ou se a solução deve ser penalizada pela função fitnnes; Obs.: Esse exercício tem o propósito de exercitar a sua capacidade de modelar um algoritmo genético. Sempre que você tiver dificuldades para resolver uma questão, transforme o problema em um problema mais fácil e resolva o problema relaxado. Depois, acrescente as dificuldades aos poucos em sua modelagem. a. Problema de Mochila Dado um conjunto de n objetos e uma mochila com: • cj = benefício do objeto j • wj = peso do objeto j • b = capacidade da mochila Determinar quais objetos devem ser colocados na mochila para maximizar o benefício total de tal forma que o peso da mochila não ultrapasse sua capacidade. b. Problema de escalonamento de tarefas Considere um conjunto de N jobs J={J1, J2, ..., JN} a serem processados em M máquinas paralelas de igual poder de processamento disponíveis M={M1, M2, ..., MM}. Determine a melhor distribuição de jobs nas máquinas de forma a minimizar o tempo de execução do conjunto completo de jobs. Variação (exemplo do Linden, pág. 291) Fazer uma escala de tarefa onde cada tarefa consiste em uma sequência de operações, que devem ser processadas em um conjunto fechado e limitado de máquinas, de forma que o conjunto de todas as tarefas sejam realizadas em um tempo mínimo. Cada tarefa recebe duas datas: uma a partir da qual ela pode ser realizada e um prazo máximo. O processamento de uma tarefa i em uma máquina j é denotado pelo par ordenado (i,j), com o tempo de processamento sendo designado por Tij. Dica: A função fitness para este problema deve conter um termo para cada um dos seguintes objetivos: i. minimizar o atraso médio das tarefas; ii. minimzar o número de tarefas em atraso; iii. minimizar o tempo total de transição entre tarefas; iv. minimizar o tempo ocioso de cada máquina; v. minimizar o tempo total de throughput (tempo em que todas as tarefas são efetivamente realizadas). c. Problema de escalonamento de tarefas com restrições Considere um conjunto de N jobs J={J1, J2, ..., JN} a serem processados em M máquinas disponíveis M={M1, M2, ..., MM}. Cada job possui uma ordem de execução específica entre cada uma das máquinas, ou seja, um job é composto de uma lista ordenada de operações, cada qual definida pela máquina requerida e pelo tempo de processamento na mesma. d. Problema de calibração de câmeras O problema de calibração de câmeras considera que é necessário encontrar o posicionamento de uma câmera real a partir de informações de uma imagem do ambiente real onde está a câmera. Para isso, pontos específicos para os quais se conhece a localização no mundo, são encontrados na imagem. Assim tem-‐se as coordenadas dos pontos no mundo real e no mundo da imagem. Para calibrar a câmera é preciso encontrar: • distância focal • matriz de rotação • matriz de translação que minimize o erro entre as coordenadas dos pontos na imagem e as coordenadas dos pontos na nova imagem obtida pela câmera calibrada. Para saber as coordenadas do ponto na nova imagem obtida pela câmera calibrada execute: ponto_novo = matriz 1 * matriz 2 * matriz 3 * ponto no mundo real matriz 1 = [ constante 1 constante 2 constante 3; 0 constante 4 constante 5; 0 0 1 ] matriz 2 = [ distância focal 0 0 0; 0 distância focal 0 0; 0 0 1 0 ] matriz 3 = [ Matriz de Rotação Matriz de Translação; 0 1 ] Matriz de Rotação = [ v1 v2 v3; v4 v5 v6; v7 v8 v9 ] Matriz de Transalação = [ v10; v11; v12 ] e. Problema das empreiteiras Quatro construções diferentes A, B, C e D devem ser levantadas em um campus universitário por quatro empreiteiras 1, 2, 3 e 4. Como todas as empreiteiras contribuem muito para o fundo dos alunos, cada uma delas deve construir um edifício. Cada empreiteira fez suas propostas no tocante às quatro construções. O problema consiste em determinar que construção designar a que empreiteira para que o custo da obtenção dos quatro edifíciospermaneça mínimo. f. Problema do carteiro chinês Problema de encontrar uma rota para um carteiro, onde as seguintes restrições são colocadas: • todas as ruas devem ser visitadas; • o caminho deve ser mínimo, ou seja, a distância percorrida pelo carteiro deve ser a menor possível. Considere: i. grafos não orientados; ii. grafos orientados. g. Problema da mistura Um certo óleo é refinado a partir da mistura de outros óleos, vegetais ou não vegetais: • V1 V2 (óleos vegetais) • NV1 NV2 NV3 (óleos não vegetais) Por restrições da fábrica, um máximo de X ton. de óleos vegetais podem ser refinados por mês, e um máximo de Y ton. de óleos não vegetais. A acidez do óleo desejado deve estar entre m e n (dada uma unidade de medida) e a acidez depende linearmente das quantidades/acidez dos óleos brutos usados. O preço de venda de uma tonelada do óleo é R$ZZ. Calcule a mistura que maximiza o lucro. h. Problema de agrupamento Considere um conjunto de N dados que devem ser agrupados e C grupos. O melhor agrupamento é aquele que minimiza as distâncias entre os dados de um grupo e maximiza a distância dos dados de grupos diferentes. i. Problema do transporte Considere o problema de transportar itens de centros de origens (vários) a centros de destinos (vários). São dados conhecidos do problema: • o custo de transporte de cada item; • as quantidades dos itens disponíveis em cada centro de origem; • e as demandas de cada centro destino. O transporte deve ser efetuado de modo que as limitações de oferta em cada centro seja respeitada e a demanda de cada centro de destino atendida e o custo total de transporte seja mínimo. j. Problema de designação Suponha que n tarefas devam ser atribuídas a n pessoas e que pij mede o interesse do individuo i na realização da tarefa j. O problema é designar as tarefas para as pessoas de forma a otimizar o grau de satisfação das pessoas. k. Problema do alfaiate Um alfaiate tem, disponíveis, os seguintes tecidos: X metros de algodão, Y metros de seda e Z metros de lã. Para um terno são necessários xt metros de algodão, yt metro de seda e zt metro de lã. Para um vestido, são necessários xv metro de algodão, yv metros de seda e zv metros de lã. Se um terno é vendido pela metade do preço de um vestido, quantas peças de cada tipo o alfaiate deve fazer, de modo a maximizar o seu lucro? l. Problema de escalonamento de médicos O objetivo deste problema é encontrar uma escala de trabalho para médicos de forma a diminuir o esforço e o desgaste humano nos famosos plantões. Considere a disponibilidade de X médicos e a necessidade de atendimento de 2X horas por dia. Considere turnos com no máximo X/6 horas. Para avaliar sua escala ainda considere: plantões noturnos e diurnos, finais de semana e feriados, número máximo de horas de trabalho consecutivas, períodos específicos de possibilidade de trabalhos e horários fixos para determinadores médicos. m. Problema do Caixeiro Viajante Dado um grafo não orientado totalmente conectado com arcos pesados, onde os nós representam cidades, os arcos representam caminhos entre as cidades e os pesos dos arcos representam o custo de cada caminho, um caixeiro viajante precisa passar por todas as cidades, retornando à cidade inicial, sem passar duas vezes por uma mesma cidade. n. Problema das 8 rainhas Dado um tabuleiro de xadrez (com 64 posições distribuídas em 8 linhas e 8 colunas) e 8 rainhas, o objetivo é distribuir as 8 rainhas pelo tabuleiro de forma que elas não se ameacem. Duas rainhas se ameaçam quando elas estão posicionadas em uma mesma linha, uma mesma coluna ou em uma mesma diagonal. o. problema de distribuição de ônibus Dado um conjunto de N ônibus e D linhas a serem percorridas e que operam em horários diferentes, o problema é encontrar uma maneira de atender a todas as linhas com uma quantidade mínima de ônibus. p. Problema da geração de horário escolar Dado um conjunto de N disciplinas, M professores e D salas de aulas, o problema é distribuir as aulas das disciplinas pelas salas de aula e associar cada aula a um professor. Cada disciplina tem 4 horas de aula, um dia de aula possui 4 horas de aula. Assuma que diferentes instâncias do problema valoram N, M e D de diferentes formas e impõem diferentes restrições, tais como, não se pode ter 4 horas de aulas seguidas de uma mesma disciplina, um professor pode ministrar duas disciplinas desde que o horário permita, e deve-‐se minimizar o trânsito dos alunos entre diferentes salas de aula, deixando esta tarefa para o professor. Uma solução balanceada, ou seja, que não sobrecarregue alguns professores, é altamente desejável. Note que neste problema existem restrições que tornam uma solução infactível, enquanto outras apenas tornam a solução indesejável. Incrementando o problema: e.1) assuma que existem turmas de tamanhos diferentes e salas de aula de tamanhosdiferentes e que uma solução ótima deveria alocar turmas pequenas para salas de aulas pequenas e turmas grandes para salas de aulasgrandes; e.2) considere que o horário que está sendo criado atende a um departamento de uma universidade, portanto, nesta variação é possível ter várias turmas diferentes cursando períodos diferentes do curso; nesse contexto, disciplinas diferentes relacionadas a um mesmo período não podem ser colocadas no mesmo horário; e.3) assuma que um professor deve ter um mínimo de "buracos" no seu horário específico. Um exemplo de instância (exemplo do Linden, pág, 287): salas de aulas: A -‐ com capacidade para 40 alunos B -‐ com capacidade para 20 alunos quatro turmas: T1: 30 alunos T2: 15 alunos T3: 18 alunos T4: 20 alunos O professor Fulano leciona nas turmas T1 e T3 e prefere que ambas sejam na mesma sala. O professor Sicrano leciona na turma 2 e recusa-‐se a dar aulas pela manhã, e o professor Beltrano leciona na turma T4, que tem alunos em comum com a turma T2.
Compartilhar