Você está na página 1de 11

Programação por metas

Programação
por Metas

Oliveira
Pires

2 Motivação

Uma empresa pretende realizar uma campanha publicitária para


lançamento de um novo produto, através da televisão, rádio e
jornais. Cada spot televisivo custa 3000€ e atinge 1000 potenciais
clientes; cada spot passado na rádio custa 800€ e atinge 500
potenciais clientes; e cada anúncio em jornal custa 250€ e atinge
200 potenciais clientes.

A empresa pretende com esta campanha atingir três objectivos:


- não gastar mais do que 25000€ na campanha;
- atingir pelo menos 3000 novos potenciais clientes;
- passar pelo menos 10 spots televisivos.

Como deve a empresa realizar a campanha de modo a atingir o


melhor possível todas as metas?
Programação
por Metas

Oliveira
Pires

1
3 Introdução
Programação por metas é o mais conhecido método de
programação multiobjectivo.
Consiste em estabelecer metas, uma para cada objectivo, e
tentar satisfazer as mesmas.
Pressupõe capacidade do decisor em estabelecer um valor
numérico para cada objectivo.
As metas podem, ou não, de acordo com a sua importância,
serem ordenadas em prioridades ou níveis. Em ambos os casos
podem ser associados ponderadores (penalidades) de modo a
facilitar a tomada de decisão.
Na programação por metas, o objectivo é o de minimização dos
desvios em relação às metas estabelecidas.
O conceito de solução óptima dá lugar ao de melhor solução de
compromisso.
Programação
por Metas
Esta solução pode alterar-se mediante a alteração das prioridades
e/ou penalidades.
Oliveira
Pires

4 Definições e conceitos (I)

 Existem, basicamente, quatro tipos de metas que normalmente


se desejam contemplar:
a) atingir pelo menos um determinado valor;
b) não ultrapassar um determinado valor;
c) atingir exactamente um determinado valor;
d) Atingir valores num intervalo.

 Sendo zk o valor a ser encontrado (se possível) em relação à


meta Gk tem-se:
a) zk  Gk
b) zk  Gk
c) zk  Gk
d) zk  Gkmin ,Gkmax 
Programação
por Metas

Oliveira
Pires

2
5 Definições e conceitos (II)

Ao conjunto que satisfaz todas as metas chama-se conjunto ideal


ou utópico.

Usualmente um ponto que satisfaz todas as metas não é


admissível. Então, procura-se o ponto que satisfaça o melhor
possível todas as metas (melhor solução de compromisso).

Exemplo:

Z2

Conjunto ideal ou utópico

z1 (x)  G1 G2
z2 (x)  G2 D
C

Programação
por Metas

Oliveira
Pires
A B G1 Z1

6 Modelação

Suponha-se que existem p objectivos, z1, z2, …, zp, e que, para


cada objectivo, se estabelece um valor Gk (k=1,…,p) que se
deseja atingir.

Pode então pensar-se em minimizar a soma dos desvios


p
min 
k 1
Gk  Z k (x)

s.a. x  S
Fazendo
Não linear (não é um problema de PL) zk (x)  d k  d k  GK
d k ,d k  0
  d k  d k 
p
min
k 1

s.a. x  S
Programação
por Metas
zk (x)  d k  d k  Gk k  1,..., p d k  variável de desvio por defeito
 
Oliveira d ,d  0
k k k  1,..., p d k  variável de desvio por excesso
Pires

3
7 Modelos de Metas

Para determinar os pontos que satisfaçam o melhor possível todas


as metas usam-se prioridades e/ou ponderadores.

Existem dois modelos básicos de programação por metas

 Metas hierarquizadas
Decisor estabelece a ordem de importância
Existem níveis de prioridade

Metas não hierarquizadas


Caso contrário

Em ambos os modelos podem ser considerados ponderadores


(não negativos).
Ajudam a tomada de decisão, evitando escolhas arbitrárias.
Podem ser usados para penalizar desvios indesejáveis.

Programação
por Metas

Oliveira
Pires

8 Metas não hierarquizadas (I)

 Formulação

w d  wk d k 
p
 
min k k
k 1

s.a. x  S
zk (x)  d k  d k  Gk k  1,..., p
 
d ,d  0
k k k  1,..., p

 Trata-se de um modelo PL que pode ser facilmente resolvido.

 Os quatro tipos de metas:


a) atingir pelo menos o valor GK.
b) não ultrapassar o valor GK.
c) atingir exactamente o valor GK.
d) Atingir valores no intervalo Gkmin ,Gkmax  .
Programação
por Metas
podem ser atingidos através da utilização de ponderadores.
Oliveira
Pires

4
9 Metas não hierarquizadas (II)

a) c)

wk  0 zk  Gk wk  0 zk  Gk

wk wk

Gk zk Gk zk

zk  Gk zk  Gkmin ,Gkmax 
c) d)

wk wk

Gk zk Gkmin Gkmax zk
Programação
por Metas

Oliveira
Pires

10 Metas não hierarquizadas (III)

 O modelo apresentado anteriormente considera metas não


hierarquizadas, isto é, ao mesmo nível.

 Note-se que os ponderadores actuam como uma penalidade no


caso de a meta não ser atingida.

 No exemplo referido anteriormente, aquando da motivação,


suponha-se que cada euro gasto para além dos 25000€
representa um custo efectivo de 1€ e que a empresa tem uma
perda de 5€ por cada potencial cliente não atingido. A empresa
sente ainda que a não passagem de um spot televisivo é 100
vezes pior do que o gasto de um euro além do orçamento.

 Sendo x1  nº de spots televisivos


x2  nº de spots passados na rádio
x3  nº de anúncios nos jornais
Programação
por Metas
a formulação do problema será:
Oliveira
Pires

5
11 Metas não hierarquizadas (IV)

min d1  5d 2  100d3

s.a. 3000 x1  800 x2  250 x3  d1  d1  25000


1000 x1  500 x2  200 x3  d 2  d 2  3000
x1  d3  d3  10
x1 ,x2 ,x3  0
d k ,d k  0 k  1, 2 ,3

 Resolver o problema através de “software” adequado.

Programação
por Metas

Oliveira
Pires

12 Metas Hierarquizadas (I)

 Nesta versão, as metas são escalonadas em prioridades ou


níveis, tentando garantir-se que metas de prioridade superior não
sejam colocadas de lado por metas de prioridade inferior.

 Trabalha-se sequencialmente, isto é, trabalha-se com as metas


de prioridade mais alta e esquecem-se as restantes.

 Uma meta de prioridade mais baixa só pode ser atingida entre as


soluções que minimizam os desvios das metas de prioridade mais
alta.

 As metas do mesmo nível de prioridade são medidas na mesma


unidade e são estabelecidos ponderadores (penalidades) de modo
a facilitar a tomada de decisão.

Programação
por Metas

Oliveira
Pires

6
13 Metas Hierarquizadas (II)

 Considere-se três níveis de prioridades


P1 : z1 (x)  G1
P2 : z2 (x)  G2
P3 : z3 (x)  G3

 Tem-se então
   
1 1  P2 d 2  P3 (d 3  d 3 )
min Pd P1  P2  P3
s.a. x  S
z1 (x)  d1  d1  G1
z2 (x)  d 2  d 2  G2
z3 (x)  d3  d3  G3
d k ,d k  0 k  1, 2 ,3

Programação  A função objectivo pode escrever-se na forma


por Metas

Oliveira
Pires
min d1 ; d 2 ; d3  d3 

14 Metas Hierarquizadas (III)

 Resolução sequencial
Resolver o problema

1) min d1
s.a. x  S
z1 (x)  d1  d1  G1
d1 ,d1  0

 *
Sendo (d1 ) o valor óptimo de 1) resolver o problema

2) min d 2

s.a. x  S
z2 (x)  d 2  d 2  G2
Programação d 2 ,d 2  0
por Metas

Oliveira
z1 (x)  G1  (d1 )*
Pires

7
15 Metas Hierarquizadas (IV)
 *
Sendo (d 2 ) o valor óptimo de 2) resolver o problema

3) min d 3  d3

s.a. x  S
z3 (x)  d3  d3  G3
d3 ,d3  0
z1 (x)  G1  (d1 )*
z2 (x)  G2  (d 2 )*

A solução óptima de 3) é a solução de melhor compromisso do


problema de programação por metas.

 Em alternativa à resolução sequencial pode utilizar-se o método


do simplex para programação por metas.
Programação
por Metas

Oliveira
Pires

16 Metas Hierarquizadas (V)

■ Resolução gráfica
□ Apenas possível para problemas com um máximo de três
variáveis.
□ Particularmente simples para o caso de duas variáveis
(complicado para o caso de três)
□ Facilita a compreensão da resolução de problemas de maior
dimensão.

□ Considera-se uma meta por cada nível de prioridade

□ O conjunto das soluções admissíveis associado ao problema de


prioridade k resulta da intersecção entre o conjunto das
soluções admissíveis inicial e os conjuntos das soluções
admissíveis associados aos problemas de prioridades mais
Programação
por Metas
elevadas.
Oliveira
Pires

8
17 Metas Hierarquizadas (VI)
■ Resolução gráfica (algoritmo)
0. Dados: Problema de PM com uma meta por nível de prioridade;
Duas variáveis de decisão;
Metas por ordem decrescente de níveis de prioridade;

1. Inicialização
Identificar S0 ; k 1;

2. Iteração k
Determinar S k  Sk 1 , i.e., o conjunto de pontos em Sk-1 que minimizam os
desvios associados à meta de prioridade k.

3. Critério de paragem
Se Sk é um conjunto singular, Sk é a melhor solução de compromisso;
Calcular os desvios de todas as metas. STOP.
C.c., k k + 1;
Se k ≤ K voltar a 2;
Programação
por Metas C.c., Sk representa as melhores soluções de compromisso;
Oliveira Calcular os desvios de todas as metas. STOP.
Pires

18 Metas Hierarquizadas (VII)

 Exemplo: Resolver graficamente o seguinte problema de


programação por metas:

min d1 ,d 2  d 2 ,d3 

s.a. 6x1  5 x2  60
2x1  x2  d1  d1  10
x1  2 x2  d 2  d 2  8
3x1  2 x2  d3  d3  12
x1 ,x2  0
d k ,d k  0 k  1,...,3

K=3  nº máximo de problemas de PL a resolver = 3

6 x1  5 x2  60
Programação
1. Identificar S0: S0   ; k = 1;
por Metas
 x1 ,x2  0
Oliveira
Pires

9
19 Metas Hierarquizadas (VIII)

2. Iteração 1: Determinar S1  S0 resolvendo

min z1  d1
x2
s.a. x  S0
C
2x1  x2  d1  d1  10 12

d1 ,d1  0 10
F

S0   ABC  A D E B
0 5 8 10 x1
min d1 d1
d1
Conjunto solução: S1   DBCF   S0

z1*   d1   0
*
Programação
por Metas

Oliveira
Pires 3. S1 não é singular ; k = 2;

20 Metas Hierarquizadas (IX)

2. Iteração 2: Determinar S 2  S1 resolvendo


x2
min z 2  d 2  d 2
C
s.a. x   DBCF 
12

x1  2 x2  d 2  d 2  8 10
F
d1 ,d1  0
G

2 H

A D E B
0 5 8 10 x1
d 2
S1   DBCF  d 
d 
1
d1 2

min d2  d2


Conjunto solução: S2   EH   S1

z*2   d2    d2   0


Programação
* *
por Metas

Oliveira
Pires 3. S2 não é singular ; k = 3;

10
21 Metas Hierarquizadas (X)

2. Iteração 3: Determinar S3  S 2 resolvendo

min z3  d3

s.a. x   EH  x2

3x1  2 x2  d3  d3  12 12


C
 
d ,d  0
1 1 d 3 10
d 3 F

H
S1   DBCF 
2

A D E B
min d3 0 4 5 8 10 x1
d 2
d 1
Conjunto solução: S3  H   S2 d 1

d 
2

z*3   d3   4
*

Programação
por Metas

3. S3 é singular. Stop.
Oliveira
Pires

22 Metas Hierarquizadas (XI)

Melhor solução de compromisso: Ponto H(4,2)

1ª meta: d1  0
d1  0

2ª meta: d 2  0
d 2  0

3ª meta: d3  0
d3  4 meta não é atingida

Programação
por Metas

Oliveira
Pires

11

Você também pode gostar