Автор работы: Пользователь скрыл имя, 04 Января 2013 в 12:30, курсовая работа
При появлении мощных ЭВМ стало возможным проведение сложных и емких расчетов, следовательно, появилась возможность реализовать на практике многие придуманные ранее теории. Одной из таких теорий является решение «транспортных задач». В связи с ростом промышленности и грузообороте без математической системы оптимизации обойтись было нельзя. Данные методы стали, применяться в промышленности, транспорте и др. областях.
В данной работе автор поставил задачу:
Изучить методы решения транспортной задачи.
Написать программу вычисляющую, одним из способов, решение Т.З.
Введение
1.Транспортная задача.
1.1 Постановка задачи
1.2 Закрытая и открытая модели транспортной задачи
1.3 Опорный план
2. Решение транспортных задач.
2.1 Метод северо-западного угла
2.2 Метод минимального элемента
2.3 Метод аппроксимации
2.4 Потенциалы.
2.5 Критерий оптимальности плана
3. Программа
3.1 Инструкция по эксплуатации программы (Delphi 7)
3.2 Код программы
3.3 Разработка программы при помощи MS Excel.
4. Практическое применение методов.
Заключение
Список использованной литературы.
edit12.Text:=inttostr(b3-
end;
end;
end;
if strtoint(edit1.Text)+strtoint(
begin
edit4.Text:=inttostr(b1-
edit5.Text:=inttostr(a2-
if strtoint(edit5.Text)<=b2 then
begin
edit8.Text:=inttostr(a3);
if (strtoint(edit5.Text)+
begin
edit11.Text:=inttostr(b2-(
edit12.Text:=inttostr(a4-
end;
if (strtoint(edit5.Text)+
begin
edit8.Text:=inttostr(b2-
edit9.Text:=inttostr(a3-
edit12.Text:=inttostr(a4);
end;
end;
if strtoint(edit5.Text)>b2 then
begin
edit5.Text:=inttostr(b2);
edit6.Text:=inttostr(a2-(
edit9.Text:=inttostr(a3);
edit12.Text:=inttostr(a4);
end;
end;
end;
if strtoint(edit1.Text)>b1 then
begin
edit1.Text:=inttostr(b1);
edit2.Text:=inttostr(a1-
if strtoint(edit2.Text)<=b2 then
begin
edit5.Text:=inttostr(a2);
if strtoint(edit2.Text)+strtoint(
begin
edit8.Text:=inttostr(a3);
if strtoint(edit2.Text)+strtoint(
begin
edit11.Text:=inttostr(b2-(
edit12.Text:=inttostr(b3);
end;
if strtoint(edit2.Text)+strtoint(
begin
edit8.Text:=inttostr(b2-(
edit9.Text:=inttostr(a3-
edit12.Text:=inttostr(a4);
end;
end;
if strtoint(edit2.Text)+strtoint(
begin
edit5.Text:=inttostr(b2-
edit6.Text:=inttostr(a2-
edit9.Text:=inttostr(a3);
edit12.Text:=inttostr(a4);
end;
end;
if strtoint(edit2.Text)<=b2 then
begin
edit2.Text:=inttostr(b2);
edit3.Text:=inttostr(a1-(
edit6.Text:=inttostr(a2);
edit9.Text:=inttostr(a3);
edit12.Text:=inttostr(a4);
end;
end;
begin
if (edit1.Text)<>('') then begin w1:=(strtoint(edit1.Text)*
if (edit2.Text)<>('') then begin w2:=(strtoint(edit2.Text)*
if (edit3.Text)<>('') then begin w3:=(strtoint(edit3.Text)*
if (edit4.Text)<>('') then begin w4:=(strtoint(edit4.Text)*
if (edit5.Text)<>('') then begin w5:=(strtoint(edit5.Text)*
if (edit6.Text)<>('') then begin w6:=(strtoint(edit6.Text)*
if (edit7.Text)<>('') then begin w7:=(strtoint(edit7.Text)*
if (edit8.Text)<>('') then begin w8:=(strtoint(edit8.Text)*
if (edit9.Text)<>('') then begin w9:=(strtoint(edit9.Text)*
if (edit10.Text)<>('') then begin w10:=(strtoint(edit10.Text)*
if (edit11.Text)<>('') then begin w11:=(strtoint(edit11.Text)*
if (edit12.Text)<>('') then begin w12:=(strtoint(edit12.Text)*
edit33.Text:=inttostr(w1+w2+
end;
end; //конец подсчета
end; //конечный
procedure TForm1.Button2Click(Sender: TObject);
begin
edit13.Color:=clwindow;
edit14.Color:=clwindow;
edit15.Color:=clwindow;
edit16.Color:=clwindow;
edit17.Color:=clwindow;
edit18.Color:=clwindow;
edit19.Color:=clwindow;
button1.Enabled:=true;
button2.Enabled:=false;
button3.Enabled:=false;
edit1.Text:=('');
edit2.Text:=('');
edit3.Text:=('');
edit4.Text:=('');
edit5.Text:=('');
edit6.Text:=('');
edit7.Text:=('');
edit8.Text:=('');
edit9.Text:=('');
edit10.Text:=('');
edit11.Text:=('');
edit12.Text:=('');
edit13.Text:=('');
edit14.Text:=('');
edit15.Text:=('');
edit16.Text:=('');
edit17.Text:=('');
edit18.Text:=('');
edit19.Text:=('');
edit20.Text:=('');
edit21.Text:=inttostr(0);
edit22.Text:=inttostr(0);
edit23.Text:=inttostr(0);
edit24.Text:=inttostr(0);
edit25.Text:=inttostr(0);
edit26.Text:=inttostr(0);
edit27.Text:=inttostr(0);
edit28.Text:=inttostr(0);
edit29.Text:=inttostr(0);
edit30.Text:=inttostr(0);
edit31.Text:=inttostr(0);
edit32.Text:=inttostr(0);
edit33.Text:=('');
edit20.Color:=clwindow;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
button1.Enabled:=true;
edit13.Color:=clwindow;
edit14.Color:=clwindow;
edit15.Color:=clwindow;
edit16.Color:=clwindow;
edit17.Color:=clwindow;
edit18.Color:=clwindow;
edit19.Color:=clwindow;
edit20.Color:=clwindow;
end;
end.
Программа прилагается. Находится в той же папке.
3.2 Excel. Разработка программы при помощи средств MS Excel:
Кроме разработанной мною программы на Delphi 7, я решил, что будет целесообразно разработать программу, составляющую опорный план методом СЗУ используя средства MS Excel.
Это программа получилась сверхэргономична. Здесь ненужно нажимать кнопки, программа сама, по мере ввода исходных данных автоматически, в режиме реального времени подсчитывает результат. Форматировать данные можно в любое время.
Функции:
=ЕСЛИ( A4<=E1; A4;E1) – для заполнения рабочих полей матрицы.
=A1*A8+A2*A9+A3*A10+B1*B8+B2*
=A4-A1-A2 – для подсчета промежуточных результатов.
160 |
60 |
0 |
0 |
220 |
60 |
0 |
0 |
0 |
160 |
130 |
40 |
330 |
330 |
170 |
40 |
0 |
0 |
0 |
250 |
300 |
300 |
300 |
300 |
160 |
220 |
130 |
290 |
||||
0 |
160 |
130 |
290 |
||||
0 |
0 |
0 |
250 |
||||
6 |
6 |
3 |
5 |
||||
4 |
5 |
3 |
2 |
||||
6 |
3 |
5 |
4 |
||||
итог |
3590 |
Кроме того, эта программа легко масштабируема, ее алгоритм без затруднений подстраивается, под задачу с любым числом поставщиков и заказчиков.
Программа прилагается на отдельном листе Excel.
Находится в той же папке.
Введение.
Одно дело разработать методы решения транспортных задач, написать программу, составляющую оптимальный план.
Совсем другое дело – применить методы и программу на практике. Ввести программу на производство. На самом деле это оказалось гораздо тяжелее, чем я думал.
Есть много факторов препятствующих внедрению методов на предприятие:
Непонимание новых разработок.
Множество начальников, предпринимателей, современных предприятий не имеют достаточного образования и по этому просто не догадываются о существовании огромного количества возможностей по оптимизации производства, перевозок, использования электроэнергии и др.
Невиденье экономической выгоды в их использовании.
Эта проблема так же связана, частично с необразованностью, частично от собственных побуждений управленца, остается огромное количество директоров старого, доперестроичного периода. У них свои методы «выполнения плана», минимизации затрат и увеличение прибыли. Что делать? Переучивать их? В большинстве случаев бесполезно!!!
Боязнь экспериментировать.
В данный момент экономика нашей страны только выходит из кризиса, и у большинства наших предпринимателей и директоров свежи в памяти воспоминания о дефолте, экономических пирамидах и о других обманах и издевательствах государства, мошенников и крупных банков над нашей экономикой и производством.
У многих сложилось страшное мнение: Типа тише едешь - дальше будешь, если предприятие рентабельно, то лучше ничего не трогать, даже если оно только - только покрывает расходы. А если предприятие убыточно, то тут уже ничего не поделаешь – заниматься другим делом или банкротить…
Принципиальное отвержение нововведений старыми директорами
Здесь большую роль играет человеческий фактор, психология отдельной личности. Боязнь за кресло директора, страх перед новыми разработками, принципы и др.
Бардак и неразбериха.
После проведения приватизации множество крупных предприятий построенных работать, как единое целое были разорваны на мелкие предприятия. Сразу же появилось множество начальников, директоров. У каждого свои принципы, правила и методы, в итоге мы имеем полную неразбериху. Один делает одно, его сосед другое и т.д. Один предприниматель соглашается на нововведение, другой нет. А без кооперации и совместных действии ничего здесь не сделаешь. Необходимо стабильное и грамотное управление!
Нехватка стимулов управляющих государственными предприятиями.
Не достаточное упорство людей предлагающих новинки.
И многое другое…
Когда я предпринял попытку применить «транспортную» на практике, я столкнулся со многими из вышеперечисленных факторов:
Бардак и неразбериха.
Непонимание новых разработок.
Боязнь экспериментировать.
И многое другое…
ОАО «Мурманский хладокомбинат»
Владелец – Олесин В.А.
Предприятие, которое я выбрал «мурманский хладокомбинат».
Изучив структуру предприятия, я понял, что применение здесь методов оптимизации грузоперевозок может дать хорошие результаты. Рис 1.
Возможность поставить фур – 12
Длинна – 170м
Количество камер – 24 (больших)
Возможность поставить фур – 3
Количество камер – 15 - 7 (больших, сквозных)
Вместительность – 15 большегрузных машин
Длинна эстокады – 240м
Вместительность – 10 вагонов 2 секции
Длинна – 230м
Постановка задачи:
Разработать алгоритм позволяющий упорядочить движение, при помощи задач линейного программирования, добиться гибкой системы построения опорного плана. Оптимального плана перевозок. Добиться улучшения производительности на предприятии.
Задача:
Упорядочить движение погрузчиков при помощи построения опорного плана перевозок.
Данные:
- Производительность комбината в день составляет в среднем 20 фур или в среднем 350т.
- Поставщики – фуры или вагоны у эстокады 1 – 25.
- Заказчики – морозильные камеры 1 – 31.
- Вместительность вагона – 45 т. (допустимый предел)
- Вместительность фуры – 20 т. (допустимый предел)
- Время доставки – 0,8 – 20мин.
- Максимальная грузоподъемность погрузчика – 1т. (800кг)
- Наличие подъемников – 20 шт.
- Время работы погрузчика без подзарядки – 4 ч.
- Время полной подзарядки:
Щелочной погрузчик 8ч.
Кислотный погрузчик 4ч.
- Используемые приспособления для разгрузки:
Тележка – домкрат ROKLA 30 шт.
Грузовые лифты комбината 6 шт.
Погрузчики
- Среднее время доставки (тариф) 2,80 = 2мин. 48сек.
Нормативы:
На разгрузку не тарного груза
НОРМА 1т. 3мин |
НОРМА 10т. 30мин |
НОРМА 20т. 1час |
Все тарифные ставки (время затрачиваемое на доставку и возврат погрузчика к поставщику просчитаны и выбраны из нормативов).
На хладокомбинате были предусмотрены секции с камерами для мяса, рыбы, масла и др.
Реальное событие:
У эстокады стоит 10 фур, из которых 1 с мясом, 3 спиртное, 3 полуфабрикаты и 3 рыба.
Доставить груз на 22 различные морозильные камеры.
Заказчики - камеры
Алкогольная продукция
7,80 |
АЛКО |
12,70 |
ПЕТРОХОЛОД |
16,10 |
АО СМИРНОВ СПИРТНОЕ1 |
3,00 |
ФЕБОС |
4,00 |
АЛКО ДИОНИС |
Полуфабрикаты
7,00 |
ЧП КОНОВАЛОВ ПОЛУФАБР |
6,80 |
ЧП ГРОМ ПОЛУФАБР. |
2,80 |
ЧП САЛЮТ ПОЛУФАБР. |
0,20 |
ЧП САЛЮТ ПОЛУФАБР. |
5,00 |
ЧП ИВАНОВ ПОЛУФАБРИКАТЫ |
12,00 |
NORD WEST ПОЛУФАБР |
3,00 |
NORD WEST ПОЛУФАБР |