Автор: Пользователь скрыл имя, 19 Ноября 2012 в 16:52, курсовая работа
При рыночной системе хозяйствования коммерческая организация в сфере оптово-розничной торговли является самоорганизующейся социально ориентированной системой, функционирующей в жестких условиях конкурентной среды, и имеет полную хозяйственную самостоятельность. В таком положении ее деятельность, в широком смысле, направлена , как на завоевание и удержание предпочтительной доли рынка, так и достижение превосходства над конкурентами. В соответствии с таким положение, управленческие решения, их анализ и аудит, система учета и контроля ориентированы главным образом на обеспечение основных показателей эффективности работы в современных условиях, а именно:
- устойчивое положение организации на рынке (среди конкурентов);
- своевременную адаптацию систем производства и управления организацией и перманентно меняющейся внешней среде (конъюнктуре) и др
транспортная задача
динамическое программирование
теория игр
Выбираем максимальную оценку свободной клетки (1;2): 1
Для этого в перспективную клетку (1;2) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
1 |
2 |
3 |
Запасы | |
1 |
3[30][-] |
1[+] |
3 |
30 |
2 |
5 |
4 |
2[25] |
25 |
3 |
4 |
3[15] |
5 |
15 |
4 |
1[10][+] |
5[5][-] |
5[15] |
30 |
Потребности |
40 |
20 |
40 |
Цикл приведен в таблице (1,2; 1,1; 4,1; 4,2; ).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (4, 2) = 5. Прибавляем 5 к объемам грузов, стоящих в плюсовых клетках и вычитаем 5 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1 |
2 |
3 |
Запасы | |
1 |
3[25] |
1[5] |
3 |
30 |
2 |
5 |
4 |
2[25] |
25 |
3 |
4 |
3[15] |
5 |
15 |
4 |
1[15] |
5 |
5[15] |
30 |
Потребности |
40 |
20 |
40 |
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
v1=3 |
v2=1 |
v3=7 | |
u1=0 |
3[25] |
1[5] |
3 |
u2=-5 |
5 |
4 |
2[25] |
u3=2 |
4 |
3[15] |
5 |
u4=-2 |
1[15] |
5 |
5[15] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij
Выбираем максимальную оценку свободной клетки (1;3): 3
Для этого в перспективную клетку (1;3) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
1 |
2 |
3 |
Запасы | |
1 |
3[25][-] |
1[5] |
3[+] |
30 |
2 |
5 |
4 |
2[25] |
25 |
3 |
4 |
3[15] |
5 |
15 |
4 |
1[15][+] |
5 |
5[15][-] |
30 |
Потребности |
40 |
20 |
40 |
Цикл приведен в таблице (1,3; 1,1; 4,1; 4,3; ).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (4, 3) = 15. Прибавляем 15 к объемам грузов, стоящих в плюсовых клетках и вычитаем 15 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1 |
2 |
3 |
Запасы | |
1 |
3[10] |
1[5] |
3[15] |
30 |
2 |
5 |
4 |
2[25] |
25 |
3 |
4 |
3[15] |
5 |
15 |
4 |
1[30] |
5 |
5 |
30 |
Потребности |
40 |
20 |
40 |
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
v1=3 |
v2=1 |
v3=3 | |
u1=0 |
3[10] |
1[5] |
3[15] |
u2=-1 |
5 |
4 |
2[25] |
u3=2 |
4 |
3[15] |
5 |
u4=-2 |
1[30] |
5 |
5 |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij
Выбираем максимальную оценку свободной клетки (3;1): 4
Для этого в перспективную клетку (3;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
1 |
2 |
3 |
Запасы | |
1 |
3[10][-] |
1[5][+] |
3[15] |
30 |
2 |
5 |
4 |
2[25] |
25 |
3 |
4[+] |
3[15][-] |
5 |
15 |
4 |
1[30] |
5 |
5 |
30 |
Потребности |
40 |
20 |
40 |
Цикл приведен в таблице (3,1; 3,2; 1,2; 1,1; ).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 1) = 10. Прибавляем 10 к объемам грузов, стоящих в плюсовых клетках и вычитаем 10 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1 |
2 |
3 |
Запасы | |
1 |
3 |
1[15] |
3[15] |
30 |
2 |
5 |
4 |
2[25] |
25 |
3 |
4[10] |
3[5] |
5 |
15 |
4 |
1[30] |
5 |
5 |
30 |
Потребности |
40 |
20 |
40 |
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
v1=2 |
v2=1 |
v3=3 | |
u1=0 |
3 |
1[15] |
3[15] |
u2=-1 |
5 |
4 |
2[25] |
u3=2 |
4[10] |
3[5] |
5 |
u4=-1 |
1[30] |
5 |
5 |
Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vi <= cij.
Минимальные затраты составят:
F(x) = 1*15 + 3*15 + 2*25 + 4*10 + 3*5 + 1*30 = 195
Ответ: Оптимальный план содержит 6 перевозок: от первого поставщика 15 ед. ко второму потребителю и 15 ед. к третьему; от второго поставщика 25 ед. к третьему потребителю; от третьего поставщика 10 ед. к первому потребителю и 5 ед. ко второму; от четвертого поставщика 30 ед. к первому потребителю. При этом общая сумма транспортных расходов минимальна и составляет 195 ден.ед.
Динамическое программирование
Ключевая идея в динамическом программировании достаточно проста. Как правило, чтобы решить поставленную задачу, требуется решить отдельные части задачи (подзадачи), после чего объединить решения подзадач в одно общее решение. Часто многие из этих подзадач одинаковы. Подход динамического программирования состоит в том, чтобы решить каждую подзадачу только один раз, сократив тем самым количество вычислений. Это особенно полезно в случаях, когда число повторяющихся подзадач экспоненциально велико.
Метод динамического программирования
сверху — это простое запоминание результатов
решения тех подзадач, которые могут повторно
встретиться в дальнейшем. Динамическое программирование
снизу включает в себя переформулирование
сложной задачи в виде рекурсивной последователь
Словосочетание «динамическое
программирование» впервые было
использовано в 1940-х годах Р. Беллманом для описания процесса нахождения решения
задачи, где ответ на одну задачу может
быть получен только после решения задачи,
«предшествующей» ей. В 1953 г. он уточнил это определение до современного.
Первоначально эта область была основана,
каксистемный анализ и
инжиниринг, которая была признана IEEE. Вклад Беллмана в динамическое программирование
был увековечен в названии уравнения Беллмана,
центрального результата теории динамического
программирования, который переформулирует оптимизационну
Слово «программирование» в словосочетании
«динамическое
Оптимальная подструктура в динамическом программировании означает, что оптимальное решение подзадач меньшего размера может быть использовано для решения исходной задачи. К примеру, кратчайший путь в графе из одной вершины (обозначим s) в другую (обозначим t) может быть найден так: сначала считаем кратчайший путь из всех вершин, смежных с s, до t, а затем, учитывая веса ребер, которыми s соединена со смежными вершинами, выбираем лучший путь до t (через какую вершину лучше всего пойти). В общем случае мы можем решить задачу, в которой присутствует оптимальная подструктура, проделывая следующие три шага.
Подзадачи решаются делением их на подзадачи ещё меньшего размера и т. д., пока не приходят к тривиальному случаю задачи, решаемой за константное время (ответ можно сказать сразу). К примеру, если нам нужно найти n!, то тривиальной задачей будет 1! = 1 (или 0! = 1).
Перекрывающиеся подзадачи в динамическом программировании означают подзадачи, которые используются для решения некоторого количества задач (не одной) большего размера (то есть мы несколько раз проделываем одно и то же). Ярким примером является вычисление последовательности Фибоначчи, и — даже в таком тривиальном случае вычисления всего двух чисел Фибоначчи мы уже посчитали дважды. Если продолжать дальше и посчитать , то посчитается ещё два раза, так как для вычисления будут нужны опять и . Получается следующее: простой рекурсивный подход будет расходовать время на вычисление решение для задач, которые он уже решал.
Чтобы избежать такого хода событий
мы будем сохранять решения