Logo Passei Direto
Buscar
Material

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Página 1 de 2 
Projeto	
  –	
  Programação	
  Linear	
  –	
  2011.1	
  Dpto.	
  Engenharia	
  Elétrica,	
  PUC-­‐Rio.	
  Professor:	
  Alexandre	
  Street	
  (street@ele.puc-­‐rio.br)	
  As	
  notas	
  serão	
  divulgadas	
  no	
  grupo	
  (Internet):	
  http://groups.yahoo.com/group/po_puc-­‐rio	
  	
  Data	
  de	
  apresentação:	
  dia	
  16	
  de	
  junho	
  de	
  2011	
  para	
  a	
  graduação	
  e	
  17	
  de	
  junho	
  para	
  a	
  pós-­‐graduação.	
  
 
TAREFA	
   –	
   1	
   (7	
   pts)	
   Implementar	
   o	
   método	
   simplex	
   revisado	
   para	
   resolver	
   um	
   problema	
   de	
  programação	
  linear	
  (PL)	
  genérico,	
  expresso	
  na	
  seguinte	
  forma:	
  
	
   !"#$%$&"'  !!!	
   (1)	
  Sujeito	
  a:	
   	
  !" ≤ !	
   (2)	
  ! ≥ !.	
   (3)	
  
O	
  seu	
  algoritmo	
  deve	
  retornar	
  os	
  seguintes	
  objetos:	
  1. O	
  valor	
  ótimo	
  da	
  função	
  objetivo.	
  2. O	
  estado	
  do	
  algoritmo:	
  -­‐2	
  se	
  o	
  número	
  máximo	
  de	
  iterações	
  foi	
  alcançado,	
  -­‐1	
  se	
  o	
  problema	
  for	
  inviável,	
  0	
  se	
  ilimitado	
  e	
  1	
  se	
  existe	
  ponto	
  ótimo.	
  3. O	
  ponto	
  ótimo	
  (!∗)	
  que	
  resolve	
  o	
  problema,	
  caso	
  exista.	
  a. Caso	
   o	
   estado	
   seja	
  menor	
   que	
   0,	
   o	
   valor	
   de	
  !∗	
   deve	
   representar	
   a	
   ultima	
   solução	
  	
  obtida	
   e	
   caso	
   seja	
   igual	
   a	
   0,	
   deve	
   retornar	
   a	
   direção	
   extrema	
   encontrada	
   (!∗ =!!|!! !).	
  4. O	
  vetor	
  de	
  variáveis	
  de	
  folga	
  das	
  restrições	
  (2).	
  5. O	
  vetor	
  de	
  variáveis	
  duais	
  associadas	
  às	
  restrições	
  (2).	
  6. O	
  vetor	
  de	
  custos	
  reduzidos	
  de	
  todas	
  as	
  variáveis.	
  7. Os	
  vetores	
  de	
  índices	
  relativos	
  às	
  variáveis	
  básicas	
  e	
  não	
  básicas	
  finais.	
  	
  Resolver	
  as	
  seguintes	
  instâncias	
  de	
  teste:	
  a) Problema	
  da	
  página	
  39	
  do	
  livro	
  texto	
  (Chvátal),	
  utilizado	
  para	
  exemplificar	
  a	
  necessidade	
  da	
  fase	
   1.	
   O	
   seu	
   algoritmo	
   deve	
   identificar	
   a	
   necessidade	
   da	
   fase	
   1	
   e	
   emprega-­‐la	
   de	
  maneira	
  automatizada,	
  entregar	
  para	
  a	
  fase	
  2	
  a	
  primeira	
  base	
  viável	
  e	
  resolver	
  o	
  problema.	
  	
  b) Um	
  problema	
  que	
  seja	
  ilimitado	
  de	
  sua	
  escolha.	
  	
  Nos	
  dois	
  casos	
  de	
   teste	
   (a)	
  e	
   (b)	
  acima,	
   imprima	
  ou	
  escreva	
  em	
  um	
  arquivo	
  o	
  conjunto	
  de	
  variáveis	
  básicas	
  de	
  cada	
  iteração	
  e	
  compare	
  com	
  os	
  passos	
  do	
  livro.	
  	
  
TAREFA	
   –	
   2	
   (3	
   pts)	
   Escolher	
   um	
   problema	
   relevante	
   e	
   resolvê-­‐lo	
   para	
   diferentes	
   tamanhos	
   de	
  instância	
  que	
  variem	
  de	
  pequenas	
  a	
  grandes.	
  Tente	
  identificar	
  o	
  limite	
  (em	
  tamanho	
  do	
  problema)	
  do	
  seu	
  algoritmo	
  e	
  o	
  fator	
  limitante.	
  Os	
  resultados	
  de	
  cada	
  instância	
  devem	
  ser	
  exibidos	
  em	
  uma	
  tabela	
  com	
  as	
  seguintes	
  informações:	
  coluna	
  1,	
  número	
  de	
  variáveis	
  (n),	
  coluna	
  2,	
  número	
  de	
  restrições	
  (m),	
  coluna	
  3,	
  valor	
  da	
  função	
  objetivo,	
  coluna	
  4,	
  número	
  de	
  iterações	
  (trocas	
  de	
  base),	
  coluna	
  5,	
  tempo	
  de	
  execução	
   do	
   seu	
   algoritmo,	
   e	
   por	
   fim,	
   coluna	
   6,	
   tempo	
   computacional	
   que	
   o	
   linprog	
   levou	
   para	
  resolver	
   a	
  mesma	
   instância.	
   Faça	
   um	
   gráfico	
   exibindo	
   as	
   colunas	
   de	
   tempo	
   (5	
   e	
   6)	
   para	
   todas	
   as	
  instâncias,	
   colocando	
   no	
   eixo	
   horizontal	
   o	
   tamanho	
   da	
   instância	
   (!")	
   e	
   no	
   vertical	
   os	
   valores	
   em	
  segundos.	
  Faça	
  um	
  segundo	
  gráfico	
  mostrando	
  o	
  número	
  de	
  iterações	
  ao	
  longo	
  das	
  instâncias.	
  
 
Página 2 de 2 
	
  
Apresentação	
   Graduação	
   e	
   Pós-­‐graduação:	
   As	
   duas	
   tarefas	
   devem	
   ser	
   apresentadas	
   em	
   slides	
  (formato	
   PDF)	
   em	
   não	
   mais	
   que	
   15	
   minutos.	
   O	
   trabalho	
   é	
   individual	
   e	
   o	
   código	
   de	
   todos	
   os	
  programas	
   deve	
   ser	
   enviado	
   por	
   e-­‐mail	
   até	
   a	
   data	
   da	
   apresentação.	
   Os	
   programas	
   devem	
   estar	
  preparados	
   para	
   serem	
   chamados	
   na	
   linha	
   de	
   comando	
   do	
  MATLAB	
   e	
   executarem	
   as	
   respectivas	
  tarefas	
   de	
   maneira	
   automática,	
   sem	
   a	
   necessidade	
   de	
   se	
   passar	
   parâmetros.	
   Para	
   isso,	
   criem	
  
procedures	
  que	
  executem	
  as	
  tarefas	
  automaticamente.	
  
Artigo	
   Pós-­‐graduação:	
  Os	
   alunos	
   de	
   pós-­‐graduação	
   deverão	
   entregar	
   além	
   da	
   apresentação,	
   um	
  texto	
  em	
  formato	
  de	
  artigo	
  científico	
  (formato	
  IEEE	
  –	
  disponível	
  no	
  site	
  –	
  MATERIAIS	
  EXTRA).	
  Neste,	
  o	
   problema	
   selecionado	
   deve	
   ser	
   motivado	
   e	
   contextualizado	
   dentro	
   da	
   literatura,	
   na	
   seção	
  introdução,	
   e	
   apresentada	
   a	
   sua	
   formulação	
   em	
   uma	
   seção	
   seguinte	
   denominada	
   Formulação	
  matemática.	
   O	
   pseudocódigo	
   do	
   algoritmo	
   programado	
   deve	
   ser	
   apresentado	
   em	
   uma	
   seção	
  subsequente.	
  Os	
  resultados	
  devem	
  seguir	
  em	
  uma	
  próxima	
  seção	
  nomeada	
  estudo	
  de	
  caso.	
  A	
  seção	
  conclusões	
  devem	
   resumir	
   as	
  principais	
   constatações	
  do	
   seu	
   trabalho:	
   dificuldades,	
   peculiaridades	
  do	
  seu	
  algoritmo	
  e/ou	
  problema,	
  etc.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?