Автор работы: Пользователь скрыл имя, 21 Мая 2013 в 12:17, курсовая работа
Целью данной работы является построение математической модели, выбор метода и разработка алгоритма решения задачи, а также экспериментальная проверка и разработка рекомендаций по практическому использованию результатов решения транспортной задачи и определения стоимости транспортировки товара в зависимости от потребности в разных пунктах назначения и вместимости отдельных транспортных средств. В качестве методов решения данной задачи были выбраны: метод северо-западного угла, метод потенциалов и построение циклов.
Введение
1. Содержательное и формализованное описание задачи
2. Математическая модель задачи
3. Выбор метода и разработка алгоритма решения задачи
3.1 Получение начального базисного решения
3.2 Нахождение вводимой переменной. Метод потенциалов
3.3 Поиск выводимой переменной. Построение циклов
4. Программная реализация
5. Экспериментальная проверка и разработка рекомендаций по практическому использованию результатов
6. Руководство пользователя
Заключение
Библиографический список
ri:=1; ci:=1;
while ((ri<=rw) and (ci<=cl)) do begin
if spl[ri]<dmd[ci] then tmp:=spl[ri] else tmp:=dmd[ci];
x[ri,ci]:=floattostr(tmp);
spl[ri]:=spl[ri]-tmp;
dmd[ci]:=dmd[ci]-tmp;
if spl[ri]=0 then ri:=ri+1;
if dmd[ci]=0 then ci:=ci+1;
end; end;
//значения U,V и
оценка для небазисных
procedure TForm1.search_uv();
var
vc,uc: array [1..100] of integer;
ind,i,j: integer;
begin
for i:=1 to cl do begin v[i]:=0; vc[i]:=0; end;
for i:=2 to rw do begin u[i]:=0; uc[i]:=0; end;
u[1]:=0; uc[1]:=1;
for t:=1 to rw do
for ind:=1 to rw do begin
for i:=1 to cl do
if(not(x[ind,i]='------------'
v[i]:=c[ind,i]-u[ind];
vc[i]:=1;
end;
if not (ind=rw) then
for j:=1 to cl do
if(not(x[ind+1,j]='-----------
u[ind+1]:=c[ind+1,j]-v[j];
uc[ind+1]:=1;
end; end;
for i:=1 to rw do
for j:=1 to cl do begin
if (x[i,j]='------------') then xnb[i,j]:=u[i]+v[j]-c[i,j]
else xnb[i,j]:=0;
end;end;
//максимальная небазисная переменная
procedure TForm1.maxnotbas(var max:real;var xi,yi:integer);
var
i,j:integer;
begin
max:=0; xi:=1; yi:=1;
for i:=1 to rw do
for j:=1 to cl do begin
if (max<xnb[i,j]) and (x[i,j]='------------') then begin
end; end; end;
procedure TForm1.create_matr();
var
i,j: integer;
begin
for t:=1 to cl do
form3.spr2.Cells[t-1,0]:=
for t:=1 to rw do
form3.pr2.Cells[0,t-1]:=
for i:=1 to rw do
for j:=1 to cl do
form3.sg1.Cells[j,i]:=x[i,j];
end;
//просмотр задания
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.Visible:=true;
end;
end.