Автор работы: Пользователь скрыл имя, 31 Мая 2012 в 18:05, курсовая работа
Данная курсовая работа имеет прямое отношение к экономике и звучит как первый опорный план о минимальной стоимости перевозки газа. Эта задача является одной из важнейших экономических задач в наше время, ведь различные крупные газодобывающие организации нуждаются в постоянной транспортировке газа в различные точки города, страны или даже мира.
Введение 4
1. Общая часть 5
1.1. Цель разработки 5
1.2. Анализ использования разработки 5
1.3. Анализ методов решения 6
1.4. Анализ средств программирования 6
1.4.1. Характеристики ПЭВМ 6
1.4.2. Характеристика ПО 8
1.4.3. Обзор средств программирования 9
1.4.4. Характеристика языков программирования 10
2. Специальная часть 13
2.1. Постановка задачи 13
2.2. Экономико-математическая модель 14
2.3. Метод северо-западного угла 15
2.4. Метод минимальной стоимости 17
2.5. Алгоритм решения задачи 20
2.5.1. Алгоритм основной программы 20
2.5.2. Алгоритм процедуры TForm1.Edit1Exit 21
2.5.3. Алгоритм процедуры TForm1.Edit2Exit 22
2.5.4. Алгоритм процедуры TForm1.Button4Click 23
2.5.5. Алгоритм процедуры TForm1.Button3Click1 23
2.5.6. Алгоритм процедуры sevzar 29
2.5.7. Алгоритм процедуры minelem 30
2.6. Описание решения задачи 32
2.6.1. Описание алгоритма основной программы 32
2.6.2. Описание алгоритма процедуры TForm1.Edit1Exit 32
2.6.3. Описание алгоритма процедуры TForm1.Edit2Exit 33
2.6.4. Описание алгоритма процедуры TForm1.Button4Click 33
2.6.5. Описание алгоритма процедуры TForm1.Button3Click1 33
2.6.6. Описание алгоритма процедуры sevzap 34
2.6.7. Описание алгоритма процедуры minelem 35
2.7. Ручной расчет контрольных примеров 36
2.8. Описание процесса отладки программы 51
Заключение 53
Список литературы 54
В результате выполнения аналогичных действий, получаем первый опорный план:
Таблица 7
В1 |
В2 |
В3 |
|||||
А1 |
10 |
1 |
|
2 |
2 |
3 |
0 |
А2 |
|
4 |
11 |
1 |
7 |
6 |
0 |
А3 |
|
7 |
|
4 |
10 |
9 |
0 |
0 |
0 |
0 |
Метод минимальной стоимости прост и позволяет построить опорное решение, достаточно близкое к оптимальному, так как использует матрицу стоимостей транспортной задачи C=(cij).
Рис. 1
Рис. 2
Рис. 3
Рис. 4
Продолжение рис. 5
Продолжение рис. 5
Продолжение рис. 5
Продолжение рис. 5
Продолжение рис. 5
Рис. 6
Рис. 7
Продолжение рис. 7
Блок 1: Начало работы программы.
Блок 2: Выход из элемента Edit1 вызывает процедуру TForm1.Edit1Exit.
Блок 3: Выход из элемента Edit2 вызывает процедуру TForm1.Edit2Exit.
Блок 4: Нажатие на кнопку Button4 вызывает процедуру TForm1.Button4Click.
Блок 5: Нажатие на кнопку Button3 вызывает процедуру TForm1.Button3Click.
Блок 6: Завершение работы программы.
Блок 1: Начало работы процедуры.
Блок 2: Присвоение глобальной переменной n (количество потребителей) значения из объекта Edit1.
Блок 3: Задание количества колонок объектов StringGrid1, StringGrid2, StringGrid3.
Блок 4-6: Заполнение фиксированной строки объектов StringGrid1 и StringGrid2 названиями потребителей.
Блок 7: Завершение работы процедуры.
Блок 1: Начало работы процедуры.
Блок 2: Присвоение глобальной переменной m (количество поставщиков) значения из объекта Edit2.
Блок 3: Задание количества строк объектов StringGrid1, StringGrid2 и колонок объекта StringGrid4.
Блок 4-6: Заполнение фиксированной колонки объектов StringGrid1 и StringGrid2 названиями поставщиков.
Блок 7: Завершение работы процедуры.
Блок 1: Начало работы процедуры.
Блок 2: Закрытие формы.
Блок 3: Завершение работы процедуры.
Блок 1: Начало работы процедуры.
Блок 2-4: Заполнение массива b (массив потребителей) значениями ячеек объекта StringGrid3.
Блок 5-7: Заполнение массива a (массив поставщиков) значениями ячеек объекта StringGrid4.
Блок 8-12: Заполнение двумерного массива c (матрица стоимостей) значениями ячеек объекта StringGrid1.
Блок 13-18: Обнуление результирующих переменных.
Блок 19: Проверка, каким методом будет производиться решение.
Блок 20: Запуск на выполнение процедуры sevzap, реализующей метод северо-западного угла.
Блок 21: Запуск на выполнение процедуры minelem, реализующей метод минимальной стоимости.
Блок 22: Обнуление переменной kol (количество непустых ячеек в результирующей матрице).
Блок 23-28: Нахождение количества непустых ячеек в результирующей матрице и занесение его в переменную kol.
Блок 29-30: Проверка составленного плана на вырожденность. Если план вырожден, работа процедуры прекращается.
Блок 32-37: Расчет значения функции.
Блок 38: Вывод значения функции пользователю, в элемент Edit3.
Блок 39: Завершение работы процедуры.
Блок 1: Начало работы процедуры.
Блок 2-3: Начало цикла, в котором будет производиться нахождение плана (переменные i и j – координаты ячеек в результирующей матрице).
Блок 4-5: Если запросы потребителя меньше запасов поставщика, в ячейку результирующей матрицы R записывается соответствующее значение из массива b, рассчитываются оставшиеся запасы текущего поставщика.