Автор работы: Пользователь скрыл имя, 08 Апреля 2011 в 09:11, дипломная работа
Транспортная задача является классической задачей исследования операций. Множество задач распределения ресурсов сводится именно к этой задаче. Распределительные задачи связаны с распределением ресурсов по работам, которые необходимо выполнить. Задачи этого класса возникают тогда, когда имеющихся в наличии ресурсов не хватает для выполнения каждой работы наиболее эффективным образом. Поэтому целью решения задачи, является отыскания такого распределения ресурсов по работам, при котором либо минимизируются общие затраты, связанные с выполнением работ, либо максимизируется получаемый в результате общий доход
Введение 4
1 Исследовательская часть 5
1.1 Описание и анализ предметной области 5
1.2 Обзор используемых элементов языка и среды программирования 11
2 Технологическая часть 16
2.1 Постановка задачи 16
2.2 Реализация модели математическим методом 17
2.3 Выбор архитектуры приложения 28
2.4 Структурные и функциональные схемы 29
2.5 Проектирование интерфейса пользователя 30
3 Специальная часть 32
3.1 Описание разрабатываемых процедур и функций 32
3.2 Таблица идентификаторов 34
3.3 Выбор стратегии тестирования и разработка тестов 35
4 Мероприятия по охране труда и технике безопасности 39
4.1 Освещение 40
4.2 Микроклимат 40
4.3 Эргономичность 42
4.4 Техника безопасности 47
5 Экономическая часть 49
5.1 Расчет стоимости разработки 49
5.2 Расчет экономического эффекта от внедрения программного обеспечения 58
Заключение 60
Список используемых источников 62
Приложение
Целевая функция F = 326 тонно-километра.
Значение целевой функции изменилось на 32 единиц по сравнению с предыдущим этапом.
Итерация 4. Полагая потенциал U1=0, определяем остальные потенциалы из соотношения (11), просматривая все занятые клетки.
Потенциалы Ui
U1=0;
V1=C1,1-U1= 3;
V4=C1,4-U1= 0;
U3=C3,1-V1=-2;
V3=C3,3-U3= 6;
U4=C4,4-V4=0;
U2=C2,3-V3=-3;
V2=C2,2-U2= 5.
Определяем значения оценок (12) для всех свободных клеток:
S1,2 = c1,2 - (u1 + v2) = -1;
S1,3 = c1,3 - (u1 + v3) = -1;
S2,1 = c2,1 - (u2 + v1) = 4;
S2,4 = c2,4 - (u2 + v4) = 3;
S3,2 = c3,2 - (u3 + v2) = -1;
S3,4 = c3,4 - (u3 + v4) = 2;
S4,1 = c4,1 - (u4 + v1) = 3;
S4,2 = c4,2 - (u4 + v2) = -3;
S4,3 = c4,3 - (u4 + v3) = -1.
Если
имеется несколько клеток с одним
и тем же наименьшим значением оценки,
то из них выбирается клетка, имеющая наименьший
тариф. Наиболее потенциальной является
клетка (4,2). Для нее оценка равна -3. Строим
для нее цикл, помечая клетки цикла знаками
"плюс" и "минус".
Таблица 2.11 – Итерация 4
|
Перемещаем по циклу груз величиной в 28 единиц, прибавляя эту величину к грузу в клетках со знаком "плюс" и отнимая ее от груза в клетках со знаком "минус".
В результате перемещения по циклу получим новый план:
Таблица 2.12– Итерация 4
|
Целевая функция F = 242 тонно-километра.
Значение целевой функции изменилось на 84 единиц по сравнению с предыдущим этапом.
Итерация 5. Полагая потенциал U1=0, определяем остальные потенциалы из соотношения (11), просматривая все занятые клетки.
Потенциалы Ui:
U1=0;
V1=C1,1-U1= 3;
V4=C1,4-U1= 0;
U3=C3,1-V1=-2;
U4=C4,4-V4=0;
V2=C4,2-U4= 2;
U2=C2,2-V2=0;
V3=C2,3-U2= 3.
Определяем значения оценок (12) для всех свободных клеток:
S1,2 = c1,2 - (u1 + v2) = 2;
S1,3 = c1,3 - (u1 + v3) = 2;
S2,1 = c2,1 - (u2 + v1) = 1;
S2,4 = c2,4 - (u2 + v4) = 0;
S3,2 = c3,2 - (u3 + v2) = 2
S3,3 = c3,3 - (u3 + v3) = 3
S3,4 = c3,4 - (u3 + v4) = 2;
S4,1 = c4,1 - (u4 + v1) = 3;
S4,3 = c4,3 - (u4 + v3) = 2.
Так
как все оценки Si,j>=0, то полученный
план является оптимальным. Транспортная
задача решена.
Таблица 2.13 – Итерация 5
|
Целевая
функция F = 242 тонно-километра.
44 единиц груза из хранилища A1 осталось
нераспределенным.
5 единиц груза из хранилища A4 осталось
нераспределенным.[2]
2.3 Выбор архитектуры приложения
Архитектурой программного обеспечения называют совокупность базовых концепций (принципов) его построения. Архитектура программного обеспечения определяется сложностью решаемых задач, степенью универсальности разрабатываемого программного обеспечения и числом пользователей, одновременно работающих с одной копией. Различают:
- однопользовательскую архитектуру, при которой программное обеспечение рассчитано на одного пользователя, работающего за персональным компьютером;
-
многопользовательскую
Для
данного проекта используетс однопользовательская
архитектура, так как ее будит использовать
и работать один пользователь, различают
следующие виды:
- программы;
- пакеты программ;
- программные комплексы;
- программные системы;
Программой называют адресованный компьютеру набор инструкций точно описывающий последовательность действий, которые необходимо выполнить для решения конкретной задачи.
Пакеты программ представляют собой совокупность программ, решающих задачи некоторой прикладной области.
Программные комплексы представляют собой совокупность программ, совместно обеспечивающих решение небольшого класса сложных задач одной прикладной области.
Программные системы представляют собой организованную савокупность программ (подсистем), позволяющую решать широкий класс задач из некоторой прикладной области.
Данный
программный продукт
2.4 Структура и функциональная схема программы
Структурной схемой соответственно рисуноку 3 называют схему, отражающую состав и взаимодействия по управлению частей разного ПО (далее программное обеспечение).[7]
Рисунок 2.1 – Функциональная схема работы программы
Функциональная
схема – это схема
С
учетом назначения функциональной схемы
ПО и тяжелых последствий неточностей
и ошибок в этом документе, функциональная
схема должна быть математически точной.
Это означает то, что она должна базироваться
на понятиях, построенных как математические
объекты, и утверждениях,
однозначно понимаемых разработчиками
ПО. Достаточно часто функциональная схема
формулируется на естественном языке.[8]
Рисунок 2.2 – Функциональная схема работы программы
2.5 Проектирование интерфейса пользователя
Основной задачей этого типа является определение подробных спецификаций разрабатываемого программного обеспечения. Процесс проектирования сложного программного обеспечения обычно включает:
-
проектирование общей
-
декомпозицию компонентов и
- проектирование компонентов.
Результатом проектирования является детальная модель разрабатываемого программного обеспечения вместе со спецификациями его компонентов всех уровней. Тип моделей зависит от выбранного подхода (структурный, объектный или компонентный) и конкретной технологии проектирования. Однако в любом случае процесс проектирования охватывает как проектирование программ (подпрограмм) и определение взаимосвязей между ними, так и проектирование данных, с которыми взаимодействуют эти программы или подпрограммы.
Принято различать также два аспекта проектирования:
-
логическое проектирование, которое
включает те проектные
Информация о работе Разработка программы "Организация перевозок"