Реферат Транспортная задача 4
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
СОДЕРЖАНИЕ ВВЕДЕНИЕ ……………………………………………………………………...2 1. ОБЩАЯ ЧАСТЬ………………………………………………………………5 1.1. Математическая постановка задачи……………………………….5 1.2. Арифметическое преобразование…………………………………7 1.3. Модели…………………………………………………………………......8 1.3.1. Открытая модель…………………………………………………8 1.3.2. Закрытая модель…………………………………………………8 1.4. Составление опорного плана транспортной задачи. Методы составления опорного плана………………………………………………9 1.4.1. Метод северо-западного угла…………………………………..9 1.4.2. Метод наименьшей стоимости…………………………………11 1.5. Методы решения транспортной задачи……………………………13 1.5.1 Метод потенциалов……………………………………………….13 1.5.1.1 Пример решения методом потенциалов………………14 1.5.2 Метод прямоугольников……………………………………….16 1.5.2.1 Пример решения методом прямоугольников.………..18 2. Описание решения Транспортной задачи с использованием стандартных программных средств……………………………………20 3. Описание входной информации…………………………………......24 4. Описание выходной информации………………………………......24 5. Описание программных средств решения задачи………………25 6. Инструкция для пользователя……………………………………......26 7. Инструкция для программиста……………………………………......27 ЗАКЛЮЧЕНИЕ…………………………………………………………………28 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ……………………......29 ПРИЛОЖЕНИЕ А………………………………………………………………30 ВВЕДЕНИЕ [1]Математика необходима в повседневной жизни, следовательно определенные математические навыки нужны каждому человеку. Нам приходится в жизни считать(например, деньги), мы постоянно используем(часто не замечая этого) знания о величинах, характеризующих протяженности, площади, объемы, промежутки времени, скорости и многое другое. Все это пришло к нам на уроках арифметики и геометрии и пригодилось для ориентации в окружающем мире. Математические знания и навыки нужны практически во всех профессиях, прежде всего, конечно, в тех, что связаны с естественными науками, техникой и экономикой. Математика является языком естествознания и техники и потому профессия естествоиспытателя и инженера требует серьезного овладения многими профессиональными сведениями, основанными на математике. Хорошо сказал об этом Галилей: «Философия (на нашем языке- физика) написана в величайшей книге, которая постоянно открыта вашему взору, но понять ее может лишь тот, кто сначала научится понимать ее язык и толковать знаки, которыми она написана. Написана же она на языке математики». Сегодня несомненна необходимость применения математических знаний и математического мышления врачу, лингвисту, историку, и людям других специальностей. Но особенно знание математики необходимы людям точных профессий - финансистам, экономистам. [2]Профессиональный уровень экономиста во многом зависит от того, освоил ли он современный математический аппарат и умеет ли использовать его при анализе сложных экономических процессов и принятий решений. Поэтому в подготовке экономистов широкого профиля изучения математики занимает значительное место. Математическая подготовка экономиста имеет свои особенности, связанные со спецификой экономических задач, а также с широким разнообразием подходов к их решению. Задачи практической и теоретической экономики очень разносторонни. К ним относятся, в первую очередь, методы сбора и обработки статической информации, а также оценка состояния и перспективы развития экономических процессов. Применяются различные способы использования полученной информации - от простого логического анализа до составления сложных экономико-математических моделей и разработки математического аппарата их исследования. Неопределенность экономических процессов, значительный случайный разброс и большой объем получаемой информации обуславливают необходимость привлечения к исследованию экономических задач теории вероятностей и математической статистики. Наряду с моделированием экономистам необходимо изучать теорию оптимизации, которая представлена математическими методами исследования операций, в том числе линейным программированием. Отмеченные направления требуют знания основополагающего математического аппарата: основ линейной алгебры и математического анализа, теории вероятностей и математического программирования. Таким образом, математика и математическое образование нужны для подготовки к будущей профессии. Один из классов математических моделей- задачи линейного программирования. Одной из задач линейного программирования является транспортная задача- задача составления оптимального плана перевозок, позволяющего минимизировать суммарный километраж. Транспортная задача, как и задача линейного программирования была впервые поставлена советским экономистом А.Н.Толстым в 1930 году. Разработка общих методов решения задачи линейного программирования и их математическое исследование связано с именем советского ученого Л.В.Канторовича. В 1939 году методам решения задачи линейного программирования посвящено также большое число работ зарубежных ученых. Основной метод решения задачи линейного программирования –симплекс метод- был опубликован в 1949 году Дандигом. Симплекс метод дает решение любой задачи линейного программирования, но если переменных очень много, то решение весьма затруднительно и для более сложных задач симплекс метод стали модифицировать. Транспортная задача делится на два вида: транспортная задача по критерию стоимости- определение плана перевозок, при котором стоимость груза была бы минимальна; транспортная задача по критерию времени- более важным является выигрыш по времени. Транспортная задача по критерию стоимости является частным случаем задачи линейного программирования и может быть решена симплексным методом. Однако в силу особенностей задачи, она решается намного проще. 1. ОСНОВНАЯ ЧАСТЬ 1.1 МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ [3]Транспортная задача Транспортная задача – это задача линейного программирования, которая ставится как задача отыскания оптимального плана перевозки грузов из М пунктов отправления в N пунктов назначения. При этом тарифы перевозки грузов из i - пункта отправления в j – пункт назначения поставлены и известны. Обычно задача формируется и помещается в транспортную таблицу , которая выглядит следующим образом: Таблица 1
А1, А2 … и.т.д. – количество грузов вывозимых из пункта отправления. В1,В2… и.т.д. – количество принимаемых в пунктах назначения. С(I,j) – это стоимость перевозки грузов из i - пункта отправления в j – пункт назначения. В задаче требуется отыскать значение такие, что Целевая функция S будет равна: S=C1,1X1,1+C1,2X1,2+……+ Cn,mXn,m будет минимальной
[4]Теорема. Любая транспортная задача, у которой суммарный объем запасов совпадает с суммарным объемом потребностей, имеет решение. 1.2 Арифметическое преобразование Если ко всем элементам таблицы тарифов Транспортной задачи находящихся в k-ом столбце прибавить такое число h, а ко всем элементам i-ой строки прибавить число l, то говорят что проведено арифметическое преобразование таблицы тарифов по k-му столбцу на число h и по i-ой строке на числоl . теорема |
k=2; h=5;
i=1; l=2;
Следствие из теоремы об арифметическом преобразовании таблицы тарифов:
Если одна таблица транспортной задачи получена из другой путем арифметического преобразования таблицы тарифов, то решение или опорный план первой таблицы будет опорным планом и второй таблицы и оптимальный план первой таблицы будет также оптимальным планом второй таблицы.
Теорема о достаточном условии оптимальности транспортной таблицы:
Ноль преобразованием таблицы тарифов транспортной задачи называется такое преобразование тарифов, в результате которого все тарифы в клетках с не нулевыми перевозками равны 0, а в остальных клетках при этом нет отрицательных тарифов.
Чтобы решение транспортной задачи было оптимальным достаточно, чтобы существовало ноль преобразование таблицы тарифов этой задачи.
1.3 Модели:
1.3.1 Закрытая модель:
Обозначим количество груза, имеющегося на каждой из баз (запасы), соответственно ,а общее количество имеющегося в наличии груза–: ;
заказы каждого из потребителей (потребности) обозначим соответственно, а общее количество потребностей :
, Тогда при условии мы имеем закрытую модель.
1.3.2Открытая модель:
Транспортная задача, в которой суммарные запасы и потребности не совпадают, т. е. не выполняется условие , называется открытой. Для открытой модели может быть два случая:
1)суммарные запасы превышают суммарные потребности ;
2)суммарные потребности превышают суммарные запасы .
Линейная функция одинакова в обоих случаях, изменяется только вид системы ограничений. Открытая модель решается приведением к закрытой модели. В случае (а), когда суммарные запасы превышают суммарные потребности, вводится фиктивный потребитель Bn+1, потребности которого bn+1 = . В случае (б), когда суммарные потребности превышают суммарные запасы, вводится фиктивный поставщик Am+1, запасы которого am+1 = .
Стоимость перевозки единицы груза, как фиктивного потребителя, так и стоимость перевозки единицы груза от фиктивного поставщика полагают равными нулю, так как груз в обоих случаях не перевозится.
После преобразований задача принимает вид закрытой модели и решается обычном способом. При равных стоимостях перевозки единицы груза от поставщиков к фиктивному потребителю затраты на перевозку груза реальным потребителям минимальны, а фиктивному потребителю будет направлен груз от наименее выгодных поставщиков. То же самое получаем и в отношении фиктивного поставщика.
Прежде чем решать какую-нибудь транспортную задачу, необходимо сначала проверить, к какой модели она принадлежит, и только после этого составить таблицу для ее решения.
1.4Составление опорного плана транспортной задачи.
Методы составления опорного плана:
1.4.1 Диагональный метод, или метод северо-западного угла. При этом методе на каждом шаге построения первого опорного плана заполняется левая верхняя клетка (северо-западный угол) оставшейся части таблицы. При таком методе заполнение таблицы начинается с клетки неизвестного и заканчивается в клетке неизвестного , т. е. идет как бы по диагонали таблицы перевозок.
Пример.
Пункты Отправления | Пункты назначения | Запасы | |||||||||
| | | | | |||||||
| | 70 | | 50 | | 15 | | 80 | | 70 | 300 |
170 | 110 | 20 | | | |||||||
| | 80 | | 90 | | 40 | | 60 | | 85 | 150 |
| | 80 | 70 | | |||||||
| | 50 | | 10 | | 90 | | 11 | | 25 | 250 |
| | | 50 | 200 | |||||||
Потребности | 170 | 110 | 100 | 120 | 200 | 700 |
Заполнение таблицы начинается с ее северо-западного угла, т. е. клетки с неизвестным . Первая база может полностью удовлетворить потребность первого заказчика . Полагая , вписываем это значение в клетку и исключаем из рассмотрения первый столбец. На базе остается измененный запас . В оставшейся новой таблице с тремя строками и четырьмя столбцами ; северо-западным углом будет клетка для неизвестного . Первая база с запасом может полностью удовлетворить потребность второго заказчика
. Полагаем , вписываем это значение в клетку и исключаем из рассмотрения второй столбец. На базе остается новый остаток (запас) . В оставшейся новой таблице с тремя строками и тремя столбцами северо-западным углом будет клетка для неизвестного . Теперь третий заказчик может принять весь запас с базы
. Полагаем , вписываем это значение в клетку и исключаем из рассмотрения первую строку. У заказчика из осталась еще не удовлетворенной потребность .
Теперь переходим к заполнению клетки для неизвестного и т.д.
Через шесть шагов у нас останется одна база с запасом груза (остатком от предыдущего шага) и один пункт с потребностью. Соответственно этому имеется одна свободная клетка, которую и заполняем, положив . План составлен. Базис образован неизвестными . Правильность составленного плана легко проверить, подсчитав суммы чисел, стоящих в заполненных клетках по строкам и столбцам.
Общий объем перевозок в тонно-километрах для этого плана составит
.
1.4.2 Метод наименьшей стоимости. При этом методе на каждом шаге построения опорного плана первою заполняется та клетка оставшейся части таблицы, которая имеет наименьший тариф. Если такая клетка не единственная, то заполняется любая из них.
Пример.
Пункты Отправления | Пункты назначения | Запасы | |||||||||
| | | | | |||||||
| | 70 | | 50 | | 15 | | 80 | | 70 | 300 |
20 | | 100 | | 180 | |||||||
| | 80 | | 90 | | 40 | | 60 | | 85 | 150 |
150 | | | | | |||||||
| | 50 | | 10 | | 90 | | 11 | | 25 | 250 |
| 110 | | 120 | 20 | |||||||
Потребности | 170 | 110 | 100 | 120 | 200 | 700 |
В данном случае заполнение таблицы начинается с клетки для неизвестного , для которого мы имеем значение , наименьше из всех значений . Эта клетка находится на пересечении третьей строки и второго столбца, соответствующим третьей базе и второму заказчику . Третья база может полностью удовлетворить потребность второго заказчика
. Полагая , вписываем это значение в клетку и исключаем из рассмотрения второй столбец. На базе остается изменённый запас . В оставшейся новой таблице с тремя строками и четырьмя столбцами клеткой с наименьшим значением клетка, где. Заполняем описанным выше способом эту клетку и аналогично заполняем следующие клетки. В результате оказываются заполненными (в приведенной последовательности) следующие клетки:
.
На пятом шаге клеток с наименьшими значениями оказалось две . Мы заполнили клетку для , положив . Можно было выбрать для заполнения другую клетку, положив , что приведет в результате к другому опорному плану. Общий объем перевозок в тонно-километрах для этого плана составит
.
Замечание. В диагональном методе не учитываются величины тарифов, в методе же наименьшей стоимости эти величины учитываются, и часто последний метод приводит к плану с меньшими общими затратами (что и имеет место в нашем примере), хотя это и не обязательно.
Кроме рассмотренных выше способов иногда используется, так называемый, метод Фогеля. Суть его состоит в следующем: В распределительной таблице по строкам и столбцам определяется разность между двумя наименьшими тарифами. Отмечается наибольшая разность. Далее в строке (столбце) с наибольшей разностью заполняется клетка с наименьшим тарифом. Строки (столбцы) с нулевым остатком груза в дальнейшем в расчет не принимаются. На каждом этапе загружается только одна клетка. Распределение груза производится, как и ранее.
1.5 Методы решения транспортной задачи
1.5.1 Метод потенциалов.
При решении методом потенциалов необходимо:
1) Построить опорный план таблицы;
2) Провести ноль-преобразование в таблице тарифов. Если в результате ноль-преобразования имеются отрицательные тарифы, то переходим к следующему пункту, если нет, задача решена оптимально;
3) Строим новое решение, в котором стоимость перевозки будет меньше в исходной таблице тарифов следующим способом: выбираем клетку с наименьшим отрицательным тарифом и строим замкнутый контур, в углах которого будут клетки с перевозками.
1.5.1.1 Пример решения задачи методом потенциалов.
Дана задача:
Вывозится продукция из 3 пунктов: A1=400, A2=970, A3=560;
Потребности в населенных пунктах: B1=540, B2=170, B3=980, B4=240;
Тарифы из: C1,1=3, C1,2=5, C1,3=3, C1,4=5;
C2,1=3, C2,2=4, C2,3=5, C2,4=2;
C3,1=3, C3,2=2, C3,3=4, C3,4=2;
1) Опорный план. В данном примере мы строим опорный план методом наименьшей стоимости(см. стр.11):
Найдем целевую функцию:
S
1
= 400*3 + 140*3 + 170*4 + 420*5 + 240*2 + 560*4 = 7120;
2)Проведем ноль–преобразование таблицы тарифов(см. стр.7-8):
X1+Y1=-3; X2=0; Y1=-3;
X2+Y1=-3; X1=2; Y2=-4;
X2+Y2=-4; X3=1; Y3=-5;
X
2
+
Y
3
=-5;
Y
4
=-2;
X
2
+
Y
4
=-2;
X
3
+
Y
3
=-4;
3)Построим замкнутый контур:
В клетках с перевозками находятся нулевые стоимости, но в остальных
еще есть отрицательные стоимости т.е.
проводим еще раз ноль-преобразование.
И так до тех пор, пока не останется
отрицательных тарифов.
X1+Y
3
=-3 X2=0; Y1=-3;
X
2
+
Y
1
=-3;
X
1
=-2;
Y
2
=-4;
X
2
+
Y
2
=-4;
X
3
=1;
Y
3
=-5;
X2+Y3=-5; Y4=-2;
X2+Y4=-2;
X3+Y3=-4;
X1+Y3=-3 X2=0; Y1=-3;
X2+Y1=-3; X1=-2; Y2=-4;
X2+Y2=-4; X3=1; Y3=-5;
X2+Y3=-5; Y4=-2;
X2+Y4=-2;
X3+Y3=-4;
В итоге у нас не осталось
отрицательных тарифов и
все клетки с перевозками обладают нулевыми тарифами, вывод это оптимальное решение.
Находим целевую функцию:
S
1
= 400*3 + 540*3 + 190*5 + 240*2 + 170*2 + 390*4 =6150;
[5]1.5.2 Метод прямоугольников.
Выбранным прямоугольником называется такой прямоугольник транспортной таблицы, в котором существует хотя бы одна не пустая диагональ.
Прямоугольники бывают трех типов:
1) обе диагонали не пустые;
2) одна диагональ полная, а вторая имеет одну нулевую перевозку;
3) одна диагональ полная, а другая пустая.
Выбранный прямоугольник первого типа называется правильным, если сумма тарифов по одной диагонали равна сумме тарифов по другой диагонали.
Прямоугольник у которого суммы тарифов по одной и по другой диагонали равны, называется нейтральным.
Выбранный прямоугольник второго и третьего типа называется правильным, если сумма тарифов по заполненной диагонали меньше чем сумма тарифов по незаполненной, в противном случае прямоугольник называется неправильным.
Теорема.
Стоимость перевозки по неправильному прямоугольнику всегда больше, чем по правильному.
[6]Правила решения транспортной задачи методом прямоугольника.
1) Построить опорный план задачи;
2) Выписать все неправильные прямоугольники;
3) Определить мощности неправильных прямоугольников и выбрать прямоугольник наибольшей мощности;
4) Заменить прямоугольник наибольшей мощности на правильный и подставить его в таблицу, получив новое решение;
5) Перейти к пункту 2 до тех пор, пока, не останется ни одного неправильного прямоугольника в таблице;
6) Если неправильных прямоугольников в таблице нет, значит, необходимое условие выполнено и надо перейти к проверке достаточного условия, т.е. провести ноль преобразования.
Если ноль преобразований проходит, то продолжаем решать задачу методом потанциалов. Если ноль преобразования не проходит и контур не строиться то, можно найти в таблице нейтральный прямоугольник, преобразовать его и получить новое решение, цена которого будет такая же, а план другой. А затем опять провести ноль преобразований.
Мощность
неправильного прямоугольника называют величину, на которую уменьшиться стоимость перевозки при преобразовании неправильного прямоугольника в правильный.
Мощность можно определить только для неправильного прямоугольника: от Суммы заполненной диагонали вычесть сумму не заполненной диагонали и умножить наименьшую перевозку заполненной диагонали.
1.5.2.1 Пример решения задачи методом прямоугольника.
Дана задача:
Вывозится продукция из 3 пунктов: A1=400, A2=970, A3=560;
Потребности в населенных пунктах: B1=540, B2=170, B3=980, B4=240;
Тарифы из: C1,1=3, C1,2=5, C1,3=3, C1,4=5;
C2,1=3, C2,2=4, C2,3=5, C2,4=2;
C3,1=3, C3,2=2, C3,3=4, C3,4=2;
1)Опорный план. В данном примере мы строим опорный план методом наименьшей стоимости:
S
1
= 400*3 + 140*3 + 170*4 + 420*5 + 240*2 + 560*4 = 7120;
2)Выпишем все неправильные прямоугольники:
1) 2)
3)Наедем их мощность
1) М=(7-6)*400=400
2) М=(8-6)*400=80
Заменяем неправильный прямоугольник наибольшей мощности на правильный. И далее ищем все неправильные прямоугольники, если их несколько, выбираем наибольшей мощности и меняем на правильный и так до тех пор пока не останется неправильных прямоугольников :
Если неправильных нет, проводим ноль-преобразование:
X1+Y3=-3 X2=0; Y1=-3;
X2+Y1=-3; X1=-2; Y2=-4;
X2+Y2=-4; X3=1; Y3=-5;
X
2
+
Y
3
=-5;
Y
4
=-2;
X
2
+
Y
4
=-2;
X
3
+
Y
3
=-4;
В итоге у нас не осталось отрицательных тарифов и все клетки с перевозками обладают нулевыми тарифами, вывод это оптимальное решение.
Находим целевую функцию:
S
1
= 400*3 + 540*3 + 190*5 + 240*2 + 170*2 + 390*4 =6150;
6. Описание решения Транспортной задачи с использованием стандартных программных средств.
В этом разделе мы рассмотрим решение транспортной задачи с помощью Microsoft Office Excel.
Нам дана задача:
Для решения транспортной задачи в Excel нужно:
Ø Если у нас 3 поставщика и 4 покупателя, то на листе Excel в ячейки A1:D3 вводятся тарифы:
Ø Диапазон ячеек A5:D7 отводятся под значения неизвестных перевозок т.е. плана перевозки грузов, они не указываются, но указываются в окне диолога как изменяемые ячейки
Ø В ячейки F5:F7 вводим количество вывозимого товара, а в ячейки A9:D9 – потребности ввозимого товара.
Ø В ячейки A8:D8 вводятся формулы суммы изменяемых ячеек соответствующего столбца, и так все столбцы (автосумма), а в ячейки E5:E7 вводятся суммы изменяемых ячеек по строкам.
Ø В ячейку F9 вводится целевая функция которая равна суммпроизв(A1:D3;A5:D7) тарифов на соответствующие перевозки.
Ø Далее выбираем МЕНЮ ПОИСК РЕШЕНИЯ
В целевую ячейку устанавливаем F9 делаем её равной минимальному значению, в строке ИЗМЕНЯЕМЫЕ ЯЧЕЙКИ вводим A5:D7, далее вводим ограничения: A5:D7 >= 0,
A8:D8 = A9:A9, E5:E7 = F5:F7. В этом же окне выбираем вкладку ПАРАМЕТРЫ и ставим галочку на линейную модель .
Ø После нажатия кнопки Выполнить, в ячейках A5:D7 отобразится оптимальный план перевозки грузов, а в ячейке F9 – минимальная стоимость перевозки т.е. оптимальное решение.
7. Описание входной информации.
Входные данные вводятся с клавиатуры:
Вводится прямоугольник:
ü Вводятся перевозки X1,1 , X1,2 , X2,1 , X2,2 .
ü Вводится стоимость C1,1 , C1,2 , C2,1 , C2,2 .
В данном примере
ü Вводятся перевозки 400 , 0 , 140 , 420 .
ü Вводится стоимость 3 , 3 , 3 , 5 .
8. описание выходной информации.
Информация выводится на экран в виде таблицы с введенными данными и еще одной таблицы уже с правильным решением.
9. Описание программных средств решения задачи
Язык Паскаль, названный в честь французского математика и философа Блеза Паскаля (1623-1662), был создан как учебный язык программирования в 1968-71 годах швейцарским ученым Николаусом Виртом на кафедре информатики Стэндфордского университета (Цюрих). В настоящее время это язык имеет более широкую сферу применения, чем предусматривалось при его создании. Свое признание Паскаль получил с появлением пакета Турбо Паскаль (Turbo Pascal). Этот язык отличается простотой понимания, стройностью и структурностью алгоритмов, быстротой компилятора и удобными средствами создания и отладки программ.
Достоинствами языка Паскаль являются:
Простой синтаксис языка. Небольшое число базовых понятий. Программы на Паскале достаточно легко читаемы. Достаточно низкие аппаратные и системные требования, как самого компилятора, так и программ, написанных на Паскале. Универсальность языка. Язык Паскаль применим для решения практически всех задач программирования. Поддержка структурного программирования, программирования "сверху-вниз", а также объектно-ориентированного программирования. В настоящем пособии рассматривается Turbo Pascal v7.0. Данная версия разработана фирмой Borland и является последней в линейке компиляторов Pascal для DOS. Дальнейшее развитие Паскаль получил в Delphi - системе разработки программ для Windows.
Окно среды разработчика
Основной экран интегрированной среды разработчика Turbo Pascal 7.0 выглядит следующим образом:
По функциональному назначению выделяется три области экрана:
1) Строка меню
2) Рабочая область
3) Строка состояния
10. Инструкция для пользователя.
Общие сведения:
Программа производит вычисления выбранного прямоугольника, определяет его тип и мощность.
Управление:
Данные вводятся с клавиатуры:
При запуске задачи, появляется диалоговое окно с приветствием, в котором, предлагается продолжить дальше, нажав клавишу «1» и «Enter» , либо выйти нажав «0» и «Enter».
Далее пользователь вводит перевозки X1,1 , X1,2 , X2,1 , X2,2 .После нажатия клавиши «Enter» пользователь вводит стоимость C1,1 , C1,2 , C2,1 , C2,2 , и жмем «Enter», после чего на экране появляются прямоугольник с вводимыми данными, его тип, мощность и еще один уже решенный прямоугольник.
После этого пользователю предлагается попробовать еще раз, нажав «1» и «Enter» либо выйти из программы, нажав «0» и «Enter».Так же во время работы программы предлагается ввести «-1» и «Enter», для выхода или «-2» и «Enter», для перезапуска программы.
11. Инструкция для программиста
Данная программа реализуется с помощью процедурного языка Turbo Pascal 7.0, используется текстовый режим.
ТРЕБУЕМЫЕ ИНФОРМАЦИОННО–ВЫЧИСЛИТЕЛЬНЫЕ СРЕДСТВА:
1) техническое обеспечение: IBM PC\XT совместимые машины
а) оперативная память – не менее 8Мб
б) свободное место на жестком диске – не менее 60Кб
в) центральный процессор – от Intel 8088 до семейства Pentium или совместимых с ним
2) информационные средства для нормального функционирования программы достаточно иметь информационную систему MS DOS
ЗАКЛЮЧЕНИЕ
Транспортная задача делится на два вида: транспортная задача по критерию стоимости- определение плана перевозок, при котором стоимость груза была бы минимальна; транспортная задача по критерию времени- более важным является выигрыш по времени.
Транспортная задача используется во многих случаях для уменьшения стоимости перевозки грузов, либо для уменьшения времени доставки, Задача может решаться многими способами: вручную, с помощью стандартных программных средств (Excel) либо с помощью специальной программы.
Однако в ручном способе и способе с помощью стандартных программных средств может решать не каждый, т.к. это требует некоторых специальных навыков.
Сделанная мною программа позволяет наиболее простым и удобным способом находить варианты уменьшения стоимости перевозки. В соответствии с этой задачей неправильный прямоугольник, перевозка по которому стоит дороже, преобразуется в правильный, что позволяет уменьшить стоимость перевозки на величину равную мощности прямоугольника.
Программа проста в использовании, в ней удобный и понятный пользовательский интерфейс. Для ввода данных используется клавиатура. Данные, выводимые программой, соответствуют тем, что получены при расчетах без использования компьютера. Эта программа может использоваться как и в учебных целях, так и на практике.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Общий курс высшей математики для экономистов. Учебник / под ред В.И. Ермакова.- М.: ИНФА – М. – 656 с. – (серия «высшее образование»).
2. Сборник задач и упражнений по высшей математике: математическое программирование: учебник пособие / А.В. Кузнецов, В.А. Сакович, Н.И. Холод и др; МН.: выш. ик., 2002. – 447с.:ил.
3. Т.Л. Партыкина, И.И. Попов Математические методы: учебник. – М.: ФОРУМ: ИНФА-М, 2005. – 464 с.: ил – (профессиональное образование)
4. И.Г. Семакин Основы программирования: учебник для сред. проф. Образования / И.Г. Семакин, А.П.Шестаков. – 2-е изд., стер,- М.: Издательский центр «Академия», 2003.-432 с.
5. Г.С. Малик Основы экономики и математические методы в планировании. Москва Высшая школа
6. А.А. Глаголев, Т.В. Солнцева Курс высшей математики Москва Высшая школа
ПРИЛОЖЕНИЕ А
program zadacha;
uses crt;
const w=('_____________');
const e=('-------------');
label q;
var
a,a1,b,b1,c,c1,d,d1,a2,b2,c2,d2,m,n,x,s1,s2: integer;
begin
clrscr;
writeln('Здравствуйте!');
writeln('Вас приветствует программа решения транспортной задачи методом прямоугольника - TranZet, ver 1/1');
writeln('Данная версия делает из неправельного прямоугольника - правельный');
begin
writeln('введите 1 - продолжить, 0 - выйти');
readln(n);
if n = 1 then
goto q end; exit;
a:=0; b:=0; c:=0; d:=0; x:=0; m:=0;
q:writeln;
writeln('введите перевозки X1,1 , X1,2 , X2,1 , X2,2');
writeln('Для выхода из программы нажмите -1, чтобы начать сначала начала нажмите -2');
readln(a); begin if (a=-1) then exit;if a=-2 then
goto q end;
readln(b); begin if (b=-1) then exit;if b=-2 then
goto q end;
readln(c); begin if (c=-1) then exit;if c=-2 then
goto q end;
readln(d); begin if (d=-1) then exit;if d=-2 then
goto q end;
writeln('введите тарифы С1,1 , C1,2 , C2,1 , C2,2');
writeln('Для выхода из программы нажмите -1, чтобы начать сначала начала нажмите -2');
readln(a1); begin if (a1=-1) then exit;if a1=-2 then
goto q end;
readln(b1); begin if (b1=-1) then exit;if b1=-2 then
goto q end;
readln(c1); begin if (c1=-1) then exit;if c1=-2 then
goto q end;
readln(d1); begin if (d1=-1) then exit;if d1=-2 then
goto q end;
writeln;
writeln('НАШ ПРЯМОУГОЛЬНИК');
writeln(w);
writeln('| |',a1,'| |',b1,'|');
writeln('|',a:5,'|',b:5,'|');
writeln(e);
writeln('| |',c1,'| |',d1,'|');
writeln('|',c:5,'|',d:5,'|');
writeln(e);
begin
if (a>0) and (b>0) and (c>0) and (d>0) and ((a1+d1)<>(b1+c1))then writeln('первый тип - неправильный')else
if (a=0) and (d=0) and ((a1+d1)<(b1+c1)) then begin writeln('третий тип - неправильный');
if (b>c) then x:=c else x:=b; a2:=a+x; b2:=b-x; c2:=c-x; d2:=d+x; m:=((b1+c1)-(a1+d1))*x; writeln('МОЩНОСТЬ = ',M); end else
if (c=0) and (b=0) and ((b1+c1)<(a1+d1)) then begin writeln('третий тип - неправильный');
if (a>d) then x:=d else x:=a; a2:=a-x; b2:=b+x; c2:=c+x; d2:=d-x; m:=((a1+d1)-(b1+c1))*x;writeln('МОЩНОСТЬ = ',M); end else
if (a=0) and ((a1+d1)<(b1+c1)) then begin writeln('второй тип - неправильный');
if (b>c) then x:=c else x:=b; a2:=a+x; b2:=b-x; c2:=c-x; d2:=d+x; m:=((b1+c1)-(a1+d1))*x;writeln('МОЩНОСТЬ = ',M); end else
if (b=0) and ((b1+c1)<(a1+d1)) then begin writeln('второй тип - неправильный');
if (a>d) then x:=d else x:=a; a2:=a-x; b2:=b+x; c2:=c+x; d2:=d-x; m:=((a1+d1)-(b1+c1))*x;writeln('МОЩНОСТЬ = ',M); end else
if (c=0) and ((b1+c1)<(a1+d1)) then begin writeln('второй тип - неправильный');
if (a>d) then x:=d else x:=a; a2:=a-x; b2:=b+x; c2:=c+x; d2:=d-x; m:=((a1+d1)-(b1+c1))*x; writeln('МОЩНОСТЬ = ',M);end else
if (d=0) and ((a1+d1)<(b1+c1)) then begin writeln('второй тип - неправильный');
if (b>c) then x:=c else x:=b; a2:=a+x; b2:=b-x; c2:=c-x; d2:=d+x; m:=((b1+c1)-(a1+d1))*x; writeln('МОЩНОСТЬ = ',M);end
else begin writeln('правильный');
writeln;
writeln;
writeln('НАШ РЕШЕННЫЙ ПРЯМОУГОЛЬНИК');
writeln(w);
writeln('| |',a1,'| |',b1,'|');
writeln('|',a:5,'|',b:5,'|');
writeln(e);
writeln('| |',c1,'| |',d1,'|');
writeln('|',c:5,'|',d:5,'|');
writeln(e);
begin
writeln('Нажмите 0 - чтобы выйти, нажмите 1 - чтобы повторить');
readln(n);
if n = 1 then
goto q end; exit; end
end;
writeln;
writeln;
writeln('НАШ РЕШЕННЫЙ ПРЯМОУГОЛЬНИК');
writeln(w);
writeln('| |',a1,'| |',b1,'|');
writeln('|',a2:5,'|',b2:5,'|');
writeln(e);
writeln('| |',c1,'| |',d1,'|');
writeln('|',c2:5,'|',d2:5,'|');
writeln(e);
begin
writeln('Нажмите 0 - чтобы выйти, нажмите 1 - чтобы повторить');
readln(n);
if n = 1 then
goto q end; exit;
readln;
end.
Общий курс высшей математики для экономистов. Учебник / под ред В.И. Ермакова.- М.: ИНФА – М. – 656 с. – (серия «высшее образование»).
Сборник задач и упражнений по высшей математике: математическое программирование: учебник пособие / А.В. Кузнецов, В.А. Сакович, Н.И. Холод и др; МН.: выш. ик., 2002. – 447с.:ил.
Общий курс высшей математики для экономистов. Учебник / под ред В.И. Ермакова.- М.: ИНФА – М. – 656 с. – (серия «высшее образование»).
Сборник задач и упражнений по высшей математике: математическое программирование: учебник пособие / А.В. Кузнецов, В.А. Сакович, Н.И. Холод и др; МН.: выш. ик., 2002. – 447с.:ил.
1 Г.С. Малик Основы экономики и математические методы в планировании. Москва Высшая школа
[4] Г.С. Малик Основы экономики и математические методы в планировании. Москва Высшая школа
[5] Г.С. Малик Основы экономики и математические методы в планировании. Москва Высшая школа
А.А. Глаголев, Т.В. Солнцева Курс высшей математики Москва Высшая школа
[6] Г.С. Малик Основы экономики и математические методы в планировании. Москва Высшая школа
А.А. Глаголев, Т.В. Солнцева Курс высшей математики Москва Высшая школа