Менеджер - главное звено в развитии экономики на макро- и микроуровнях. Инвестиции в менеджмент - одна из главных задач в развитии росийского предпринимательства.
Методы оптимизации в технико-экономических задачах
Из таблицы видно, что все коэффициенты неотрицательны, следовательно полученный план оптимален.
Минимальная стоимость перевозок составляет:
fmin = 5*12+3*5+10*7+2*8+22*7+27*7+10*9+2*24= 453
Планы перевозок будут следующие:
1) С завода А1 будут отправлены 12 шт. товара потребителю B1, 5 шт. товара потребителю B2 и 7 шт. товара потребителю B4.
2) С завода А2 будут отправлены 8 шт. товара потребителю B2 и 7 шт. товара потребителю B3.
) С завода А3 будет отправлено 7 шт. товара потребителю B3 и 9 шт. товара потребителю B5.
) С завода А4 будут отправлены 24 шт. товара потребителю B4.
Заключение
В данной курсовой работе были решены поставленные задачи двумя способами: ручным расчетом и программным. Для программного расчета были написаны соответствующие программы, которые позволяют решать не одну конкретную задачу, а любую задачу подобного класса.
В реальной жизни для решения какой-либо экономической задачи требуется применение целого ряда различных подходов и методов, но все они опираются на рассмотренные базовые методы.
В данной курсовой работы мы познакомились с основными методами оптимизации в экономических задачах. При решении предложенных задач закрепили теоретические знания по курсу «Математическая экономика» и приобрели практические, а также навыки реализации их на ЭВМ.
Приложение1. Блок-схема к задаче безусловной минимизации функции нескольких переменных
Вычисление основной функции
Вычисление производной по х1
Вычисление производной по х2
Основная программа:
Приложение2
Текст программы к задаче безусловной минимизации функции нескольких переменных
{Программа, реализующая поиск}
{поиск безусловного минимума функции}
{нескольких переменных}
{методом градиентного спуска}
program kurs;
uses crt;
Const
x3=0.0308;{фиксированная переменная}
var
x0,x1:array [1 2] of real;{k-ое и (k+1)-ое приближение}
alfa:real;{шаг}
u1,u2,u3,u4:boolean;{условия останова}
k:integer;{счътчик итераций}
a,b,tau,xgr,fgr,fgrK,Epr,Ef,Ex:real;{погрешности измерений}
{основная функция}
Function f(x1,x2:real):real;
begin
f:=7*sqr(x1)+4*sqr(x2)+6*sqr(x3)-3*x1*x2+x3*x1-x3*x2+x1-x2+x3+82.9;
end;
{производная по х1}
Function DfDx1(x1,x2:real):real;
begin
DfDx1:=14*x1-3*x2+x3+1;
end;
{производная по х2}
Function DfDx2(x1,x2:real):real;
begin
DfDx2:=8*x2-3*x1-x3-1;
end;
begin
clrscr;
alfa:=1; {шаг}
x0[1]:=x3; {начальное приближение}
x0[2]:=x3;
tau:=25*0.00000001;
fgr:=0.0001;
xgr:=0.0001;
fgrK:=0.001;
u1:=false;
u2:=false;
u3:=false;
u4:=false;
k:=0;{счътчик итераций}
repeat
k:=k+1;
x1[1]:=x0[1]-alfa*DfDx1(x0[1],x0[2]);{вычисление приближений х}
x1[2]:=x0[2]-alfa*DfDx2(x0[1],x0[2]);
if f(x1[1],x1[2])>f(x0[1],x0[2])
then
alfa:=alfa/2;{уменьшение шага}
{1условие}
if abs(f(x1[1],x1[2]))>=fgr
then
Ef:=tau*abs(f(x1[1],x1[2]))
else
Ef:=tau;
if abs(f(x1[1],x1[2])-f(x0[1],x0[2]))<=Ef
then
u1:=true;
{2условие}
if sqrt(sqr(x1[1])+sqr(x1[2]))>=xgr
then
Ex:=sqrt(tau)*sqrt(sqr(x1[1])+sqr(x1[2]))
else
Ex:=sqrt(tau);
if sqrt(sqr(x1[1]-x0[1])+sqr(x1[2]-x0[2]))<=Ex
then
u2:=true;
{3условие}
if abs(f(x1[1],x1[2]))>fgrK
then
Epr:=exp(1/3*ln(tau))*abs(f(x1[1],x1[2]))
else
Epr:=exp(1/3*ln(tau));
if abs(DfDx1(x1[1],x1[2])+DfDx2(x1[1],x1[2]))<=Epr
then
u3:=true;
{4условие}
if (u2=true) and (u3=true) and (u1=false) and (k=10)
then
u4:=true;
if (u1=true) and (u2=true) and (u3=true)
then
u4:=true;
x0[1]:=x1[1]; {запоминаем к-ое приближение}
x0[2]:=x1[2];
until u4;
writeln('Вычисленное значение alfa = ',alfa:4:3);
writeln('Значение x вычисленные методом градиентного спуска:');
writeln('[',x1[1],',',x1[2],']');
writeln('f[',x1[1]:4:10,',',x1[2]:4:10,']=',f(x1[1],x1[2]));
readln;
end.