• Nenhum resultado encontrado

Eduardo C. Xavier. 24 de fevereiro de 2011

N/A
N/A
Protected

Academic year: 2021

Share "Eduardo C. Xavier. 24 de fevereiro de 2011"

Copied!
23
0
0

Texto

(1)

Redu¸c˜

oes

Eduardo C. Xavier Instituto de Computa¸c˜ao/Unicamp

(2)

Programa¸c˜ao Linear (PL)

Vimos que na tentativa de resolver um problema P1 podemos

mapea-lo para um outro problema P2 que sabemos resolver.

Existem alguns problemas P2 que admitem redu¸c˜oes “simples”.

Um destes super-problemas ´e a programa¸c˜ao linear.

V´arios problemas podem ser reduzidos para programa¸c˜ao linear de maneira razoavelmente simples.

(3)

Programa¸c˜ao Linear

Diversos problemas devem maximizar ou minimizar uma fun¸c˜ao

objetivo devendo satisfazer algumas restri¸c˜oes.

PL ´e uma formula¸c˜ao geral de tais problemas, desde que a fun¸c˜ao objetivo seja linear e seja poss´ıvel descrever as restri¸c˜oes do problema com inequa¸c˜oes ou equa¸c˜oes lineares.

(4)

Programa¸c˜ao Linear

Seja x = (x1,x2, . . . ,xn) um conjunto de vari´aveis reais. Seja c = (c1,c2, . . . ,cn) um vetor de n´umeros constantes. Uma fun¸c˜ao objetivo linear deve ter a forma cx =Pni=1cixi.

Podemos maximizar ou minimizar a fun¸c˜ao objetivo satisfazendo um

(5)

Programa¸c˜ao Linear

Sejam a1,a2, . . . ,ak vetores de n´umeros constantes e de tamanho n. Sejam b1,b2, . . . ,bk n´umeros constantes.

As restri¸c˜oes de um PL tem a forma: a1· x ≤ b1 a2· x ≤ b2

. . . .

. . . .

(6)

Programa¸c˜ao Linear Podemos ter ≤ ou ≥ ou =: a1· x = b1 a2· x ≤ b2 . . . = . . . = ak · x ≥ bk

Tamb´em ´e comum impor restri¸c˜oes de sinal sobre as vari´aveis: xi ≥ 0.

Um programa linear consiste ent˜ao em maximizar ou minimizar uma

fun¸c˜ao objetivo satisfazendo o conjunto de restri¸c˜oes lineares. Existem algoritmos eficientes para PL.

(7)

Programa¸c˜ao Linear:Exemplos

Suponha que vocˆe ´e o Duda e ´e assessor de publicidade de um pol´ıtico.

H´a 3 zonas eleitorais: Z1, Z2, Z3.

Ser´a investido dinheiro em 4 tipos de propaganda: ◮ P1 - Propaganda de gera¸c˜ao de empregos. ◮ P2 - Propaganda de investimento em educa¸c˜ao. ◮ P3 - Propaganda de investimento em seguran¸ca. ◮ P4 - Propaganda de luta contra corrup¸c˜ao.

(8)

Programa¸c˜ao Linear:Exemplos

Temos o seguinte retorno em milhares de votos para cada mil reais investidos: Propaganda Z1 Z2 Z3 P1 2 3 6 P2 -1 3 2 P3 4 1 0 P4 1 2 3

(9)

Programa¸c˜ao Linear:Exemplos

O pol´ıtico quer ganhar 20 mil votos da Z1, 50 mil da Z2 e 65 mil da Z3.

Duda deve decidir quanto investir em cada tipo de propaganda. Queremos ainda minimizar o total de investimentos em propaganda, mas garantindo a quantidade de votos desejada.

(10)

Programa¸c˜ao Linear:Exemplos

Sejam x1,x2,x3,x4 vari´aveis que indicam quanto em milhares de reais deve-se investir em cada tipo de propaganda.

Temos que ter pelo menos 20 mil votos da Z1: 2x1− x2+ 4x3+ x4≥ 20

Pelo menos 50 mil votos da Z2:

3x1+ 3x2+ x3+ 2x2≥ 50

(11)

Programa¸c˜ao Linear:Exemplos

Gostariamos de minimizar o total investido (x1+ x2+ x3+ x4).

A quantidade investida ´e sempre positiva: x1≥ 0 x2≥ 0 x3≥ 0 x4≥ 0

(12)

Programa¸c˜ao Linear:Exemplos Resumidamente temos o seguinte programa linear:

min x1+ x2+ x3+ x4 2x1− x2+ 4x3+ x4 ≥ 20 3x1+ 3x2+ x3+ 2x2 ≥ 50 6x1+ 2x2+ 3x4 ≥ 65 x1 ≥ 0 x2 ≥ 0 x3 ≥ 0 x4 ≥ 0

(13)

Programa¸c˜ao Linear: Fluxo em Redes

Problema de Fluxo em Redes: Seja G = (V,E) um grafo com

capacidades cj para cada aresta j ∈ E .

Devemos estabelecer um fluxo m´aximo entre um v´ertice inicial s e final t.

O fluxo que passa em uma aresta deve estar limitado pela capacidade da aresta.

(14)

Programa¸c˜ao Linear: Fluxo em Redes

Vamos criar uma vari´avel xi para cada aresta i = 1, . . . ,m indicando quanto de fluxo passa pela aresta.

Seja S o conjunto de arestas que saem de s. A fun¸c˜ao objetivo ´e

maxX

i ∈S xi

Para todas as arestas devemos limitar o fluxo pelas capacidades destas:

xi ≤ ci para cada aresta i Suficiente?

(15)

Programa¸c˜ao Linear: Fluxo em Redes

Devemos impor uma restri¸c˜ao de que todo fluxo que sai de s chegue

at´e t.

Podemos fazer isso impondo que todo fluxo que entre em um v´ertice diferente de s e t deve ser passado adiante.

X j entra emv xj = X i sai de v xi para todo v ∈ V − {s,t}

(16)

Programa¸c˜ao Linear: Fluxo em Redes 15 15 10 4 4 12 5 4 2 20 10 1 1 12 7 8 5 s t 6 1 3 2 4 7 5 8 9 10 11

(17)

Programa¸c˜ao Linear: Fluxo em Redes max x(1,2) +x(1,3)+ x(1,4) x(1,2) ≤ 4 x(1,3) ≤ 2 . . . . x(1,2) = x(2,5)+ x(2,3)+ x(2,7) x(1,3)+ x(2,3) = x(3,5) . . . . x(2,5)+ x(3,5)+ x(6,5) = x(5,8)+ x(5,11) . . . .

(18)

Programa¸c˜ao Linear: Filantropo

Suponha que n pessoas desejam doar dinheiro para k ONGs.

Cada pessoa i vai doar no m´aximo si reais, e no m´aximo aij reais para a ONG j.

Suponha ainda que cada organiza¸c˜ao j pode receber no m´aximo tj reais.

Devemos atribuir doa¸c˜oes de forma a maximizar o total doado

(19)

Programa¸c˜ao Linear: Filantropo Vari´aveis xij que indicam quanto i doa `a organiza¸c˜ao j.

max n X i=1 k X j=1 xij k X j=1

xij ≤ si para cada pessoa i

xij ≤ aij para cada pessoa i e ONG j

n X

i=1

xij ≤ tj para cada organiza¸c˜ao j

(20)

Programa¸c˜ao Linear: Atribui¸c˜ao ´

E uma altera¸c˜ao do problema do Filantropo.

Neste caso uma pessoa pode doar dinheiro apenas para uma ONG e esta por sua vez s´o pode receber dinheiro de no m´aximo uma pessoa. ´

E um problema de matching (emparelhamento) com pesos.

Neste caso uma pessoa i doa todo o dinheiro aij para alguma

organiza¸c˜ao j.

(21)

Programa¸c˜ao Linear: Atribui¸c˜ao Vari´aveis xij que indicam se i doa `a organiza¸c˜ao j.

max n X i=1 k X j=1 aijxij k X j=1

xij ≤ 1 para cada pessoa i

n X

i=1

xij ≤ 1 para cada organiza¸c˜ao j

(22)

Programa¸c˜ao Linear: Atribui¸c˜ao Problema: A ´ultima restri¸c˜ao n˜ao ´e linear.

Programas Lineares que requerem restri¸c˜oes de integralidade, no geral, s˜ao dif´ıceis de resolver (veremos em breve).

S˜ao chamados de Programas Lineares Inteiros (PLI).

No caso espec´ıfico do problema da atribui¸c˜ao, podemos resolve-lo com programa¸c˜ao linear sem a restri¸c˜ao de integralidade.

(23)

Programa¸c˜ao Linear: Exerc´ıcio

Suponha uma rede representada por um grafo G = (V,E).

Devemos maximizar o n´umero de pacotes enviados na rede por

unidade de tempo.

Cada n´o i representa uma m´aquina e possui um buffer com limite Bi de mensagens sendo recebidas por unidade de tempo.

Cada n´o consegue gerar Gi mensagens por unidade de tempo.

Cada link e = (i,j) consegue transmitir no m´aximo ce pacotes por unidade de tempo.

Referências

Documentos relacionados

O fortalecimento da escola pública requer a criação de uma cultura de participação para todos os seus segmentos, e a melhoria das condições efetivas para

A Escola Estadual Médio Solimões (EEMS), objeto deste estudo, é considerada uma escola de médio porte, segundo a classificação estabelecida pela Secretaria de

As práticas de gestão passaram a ter mais dinamicidade por meio da GIDE. A partir dessa mudança se projetaram todos os esforços da gestão escolar para que fossem

O caso de gestão estudado discutiu as dificuldades de implementação do Projeto Ensino Médio com Mediação Tecnológica (EMMT) nas escolas jurisdicionadas à Coordenadoria

Here, we aim to understand how expression of RA degradation enzymes (Cyp26) can be correlated with RA distribution and functions during amphioxus (B. lanceolatum)

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

5) “Estado da arte” do desenvolvimento local sertaginense. “A Sertã continua a ser pequenina e com pouca população. O setor turístico tem vindo a melhorar e temos