Informática">

Dificuldades em Java Programação

Introdução
Parabéns! Você acabou de ser contratado para ser Diretor de Manufatura na Acme Manufacturing Inc.

No seu primeiro dia de trabalho você percebeu que a empresa pode estar perdendo dinheiro por produzir sem nenhum planejamento. Ocorre que ao conhecer o processo você percebeu que o custo de produção não é linear e depende dos tamanhos dos lotes e outros detalhes do processo. Produzir pouco custa caro devido a falta de ganho de escala e produzir muito também caro devido a restrições de estocagem e outros gargalos de produção.

Segundo o diretor financeiro, cada produto é vendido por $5000,00.

Após algum estudo sobre seu processo, você concluiu que o lucro de seu produto pode ser estimado pela seguinte fórmula:
(1)

As constantes a e b dependem da cotação do dólar e do preço do petróleo no dia da compra dos insumos.

Você lembrou que em Cálculo I na Facamp você aprendeu que basta derivar a equação e encontrar o zero para ter o ponto onde o número de peças produzidas leva a um lucro máximo.

Facilmente você calculou a seguinte derivada:

(2)

A complexidade da equação não o assustou. Você rapidamente abriu um bloco de notas e fez um programa em Java para calcular o zero da equação.

O que você fez foi criar um programa que busca para qual valor de x o valor de dfdx é próximo de zero. Para isto você usou o método da bissecante: http://en.wikipedia.org/wiki/Bisection_method.

O método é simples. A idéia básica é escolher um intervalo que contém o zero e ir aos poucos reduzindo o intervalo até achar a raíz da equação. Este processo é ilustrado na figura a seguir:

Como você estava um pouco “enferrujado”, você fez por partes:

Parte 1)
• Primeiramente você declarou as variáveis a e b. Você inicializou a=110 e b=5.1, que são os valores praticados atualmente para estas constantes.
• Em seguida você declarou a variável x e escreveu o código para calcular o lucro fx (equação 1) e sua derivada, que você chamou de dfdx (equação 2). Dica: use as funções Math.log() para calcular um logaritmo neperiano e a função Math.pow() para elevar um número a uma potência.

Exemplos de uso das funções Math.log() e Math.pow():
ln(x) ? Math.log(x)
x2 ? Math.pow(x,2)
(ln(x))2 ? Math.pow(Math.log(x),2)

Você testou o programa com x = 50, que é o número de unidades que são produzidas atualmente na empresa. Para testar você calculou fx e dfdx na calculadora e comparou com os resultado obtidos. Os valores foram aproximadamente: dfdx=-3923.49945 e fx=88446.75782

Parte 2)
Você escolheu um intervalo que contém o zero da equação. Para tanto você criou quatro novas variáveis:
• xmin – início do intervalo
• dfdxmin – valor da equação (2) para xmin
• xmax – final do intervalo
• dfdxmax – valor da equação (2) para xmax

Você inicializou xmin=10, xmax=70 e calculou a equação (2) para cada um dos valores que foram armazenados nas variáveis dfdxmin e dfdxmax, respectivamente.
Você mostrou no console os quatro valores, xmin, dfdfxmin, xmax e dfdfxmax e se certificou que dfdxmin>0 e dfdxmax

In: Informática Asked By: [2 Grey Star Level]

set

24

Professores e Alunos
Ainda nao ha resposta para essa pergunta, enquanto isso pode-se tornar um usuario premium para atendimento especializado. Saiba mais em escritorios de advocacia online.

Answer this Question

You must be Logged In to post an Answer.

Not a member yet? Sign Up Now »

Star Points Scale

Earn points for Asking and Answering Questions!

Grey Sta Levelr [1 - 25 Grey Star Level]
Green Star Level [26 - 50 Green Star Level]
Blue Star Level [51 - 500 Blue Star Level]
Orange Star Level [501 - 5000 Orange Star Level]
Red Star Level [5001 - 25000 Red Star Level]
Black Star Level [25001+ Black Star Level]