Формирование оптимального штата фирмы
Описание метода дифференциальных рент для решения транспортной задачи. Определение опорного плана методом потенциалов. Получение минимальных суммарных затрат. Технология разработки формы для ввода исходных данных средствами прикладной программы MS Excel.
Рубрика | Экономико-математическое моделирование |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 31.10.2017 |
Размер файла | 168,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»
ФАКУЛЬТЕТ ИНФОРМАЦИПОННЫХ И СОЦИАЛЬНЫХ ТЕХНОЛОГИЙ
Кафедра математических методов в экономике
Курсовая работа
по дисциплине экономико-математические методы
на тему: «Формирование оптимального штата фирмы»
Выполнил:
студент 4-го курса
группы ПИЭ-09-2(1)
Столяренко К.В.
Липецк, 2013
Содержание
Введение
1. Теоретическая часть
1.1 Экономические задачи, сводящиеся к транспортной модели
1.2 Метод дифференциальных рент для решения транспортных задач
2. Практическая часть
2.1 Решение задачи с помощью математического аппарата
2.2 Решение задачи с помощью прикладных программ
2.2.1 Технология разработки формы для ввода исходных данных средствами VBA
2.2.2 Описание процесса решения
Заключение
Литература
Приложение
Введение
Тема данного курсового проекта: «Формирование оптимального штата фирмы». Данная работа посвящена изучению теоретических вопросов, связанных с этой темой, а также созданию программного продукта, необходимого для автоматизации работы сотрудников фирмы, которые занимаются подбором кадрового состава предприятия.
Проблема формирования оптимального штата фирмы не утратила своего значения и в наши дни, а даже наоборот приобрела еще большую значимость и актуальность, потому что с каждым днем открывается все больше и больше предприятий, разных по масштабу и количеству рабочих мест. А для того, что бы все они работали более эффективно, не тратили лишних денежных средств, а наоборот давали хорошую прибыль необходимо как можно серьезнее относится к подбору штата сотрудников.
Решение данной проблемы было сформулировано и решено еще в 1941 г. Ф. Хичкоком, но до сих пор не было автоматизировано.
Объектом исследования являются задачи линейного программирования, а предметом - транспортные задачи.
Целью проекта является автоматизация процесса решения задач формирования оптимального штата фирмы. Для достижения данной цели необходимо выполнить следующие задачи:
– изучить предметную область;
– разобрать методы решения задач, а именно решение транспортных задач;
– рассмотреть принципы использования прикладных программ для расчета основных характеристик модели задачи формирования оптимального штата фирмы;
– разобрать приложение, позволяющее автоматизировать процесс решения задачи курсового проекта.
1. Теоретическая часть
1.1 Экономические задачи, сводящиеся к транспортной модели
Транспортная модель используется для составления наиболее экономичного плана перевозок одного вида продукции из нескольких пунктов (например, заводов) в пункты доставки (например, склады). Транспортную модель можно применять при рассмотрении ряда практических ситуаций, связанных с управлением запасами, составлением сменных графиков, назначением служащих на рабочие места, оборотом наличного капитала, регулированием расхода воды в водохранилищах и многими другими. Кроме того, модель можно видоизменить, с тем, чтобы она учитывала перевозку нескольких видов продукции.
Транспортная задача представляет собой задачу линейного программирования, однако ее специфическая структура позволяет так модифицировать симплекс-метод, что вычислительные процедуры становятся более эффективными. При разработке метода решения транспортной задачи существенную роль играет теория двойственности.
В классической транспортной задаче рассматриваются перевозки (прямые или с промежуточными пунктами) одного или нескольких видов продукции из исходных пунктов в пункты назначения. Эту задачу можно видоизменить, включив в нее ограничения сверху на пропускные способности транспортных коммуникаций. Задачу о назначениях и задачу управления запасами можно рассматривать как задачи транспортного типа. Существует несколько разновидностей экономических задач, сводящихся к транспортной модели:
– оптимальное распределение оборудования;
– формирование оптимального штата фирмы;
– задача календарного планирования производства;
– оптимальное исследование рынка;
– оптимальное использование рабочих агентов;
– задача размещения производства;
– задача о назначениях.
Задача формирования оптимального штата фирмы в общем виде формулируется следующим образом.
Фирма набирает штат сотрудников. Она располагает n группами различных должностей по bj вакантных единиц в каждой группе, j = 1,…,n. Кандидаты для занятия должностей проходят тестирование, по результатам которого их разделяют на m групп по аi кандидатов в каждой группе, i = 1,…,m. Для каждого кандидата из i-ой группы требуются определенные затраты Cij на обучение для занятия j-ой должности, i=1,…,m; j=1,…,n. (В частности, некоторые Cij = 0, т.е. кандидат полностью соответствует должности, или Cij = ? (Cij = M), т.е. кандидат вообще не может занять данную должность.) Требуется распределить кандидатов на должности, затратив минимальные средства на их обучение. Предположим, что общее число кандидатов соответствует числу вакантных должностей. Тогда данная задача соответствует транспортной модели. В роли поставщиков выступают группы кандидатов, а в роли потребителей - группы должностей. В качестве тарифов на перевозки рассматриваются затраты на переобучение. Математическая модель записывается в виде:
1.2 Метод дифференциальных рент для решения транспортной задачи
Для решения транспортных задач используется несколько методов. Рассмотрим решение с помощью метода дифференциальных рент.
При нахождении решения транспортной задачи методом дифференциальных рент сначала наилучшим образом распределяются между пунктами назначения часть груза (так называемое условно оптимальное распределение) и на последующих интерациях постепенно уменьшают общую величину нераспределенных поставок. Первоначальный вариант распределения груза определяют следующим образом. В каждом из столбцов таблицу данных транспортной задачи находят минимальный тариф. Найденные числа заключают в кружки, а клетки, в которых стоят указанные числа, заполняют. В них записывают максимально возможные числа. В результате получают некоторое распределение поставок груза в пункты назначения. Это распределение в общем случае не удовлетворяет ограничениям исходной транспортной задачи. Поэтому в результате последующих шагов следует постепенно сокращать нераспределенные поставки груза так, что бы при этом общая стоимость перевозок оставалась минимальной. Для этого сначала определяют избыточные и недостаточные строки.
Строки, соответствующие поставщикам, запасы которых полностью распределены, а потребности пунктов назначения, связанных с данными потребителями запланированными поставщиками, не удовлетворены, считаются недостаточными. Эти строки иногда называют также отрицательными. Строки, запасы которых исчерпаны не полностью, считаются избыточными. Иногда их также называют положительными.
После того как определены избыточные и недостаточные строки, для каждого из столбцов находят разности между числом в кружке и ближайшем к нему тарифом, записанным в избыточной строке. Если число в кружке находится в положительной строке, то разность не определяют. Среди полученных чисел находят наименьшее. Это число называется промежуточной рентой. После определения промежуточной ренты переходят к новой таблице. Эта таблица получается из предыдущей таблицы прибавлением к соответствующим тарифам, стоящим в отрицательных строках, промежуточной ренты. Остальные элементы остаются прежними. При этом все клетки новой таблицы считают свободными. После построения новой таблицы начинают заполнение ее клеток. Теперь уже число заполняемых клеток на одну больше, чем на предыдущем этапе. Эта дополнительная клетка находится в столбце, в котором была записана промежуточная рента. Все остальные клетки находятся по одной в каждом из столбцов и в них записаны наименьшие для данного столбца числа, заключенные в кружки. Заключены в кружки и два одинаковых числа, стоящих в столбце, в котором в предыдущей таблице была записана промежуточная рента.
Поскольку в новой таблице число заполняемых клеток больше, чем число столбцов, то при заполнении клеток следует пользоваться специальным правилом, которое состоит в следующем. Выбирают некоторый столбец (строку), в котором имеется одна клетка с помеченным в ней кружком. Эту клетку заполняют и исключают из рассмотрения данный столбец (строку). После этого берут некоторую строку (столбец), в которой имеется одна клетка с помещенным в ней кружком. Эту клетку заполняют и исключают из рассмотрения данную строку (столбец). Продолжая так, после конечного числа шагов заполняют все клетки, в которых помещены кружки с заключенными в них числами. Если к тому же удается распределить весь груз, имеющийся в пунктах отправления, между пунктами назначения, то получают оптимальный план транспортной задачи. Если же оптимальный план не получен, то переходят к новой таблице. Для этого находят избыточные и недостаточные строки, промежуточную ренту и на основе этого строят новую таблицу. При этом могут возникнуть некоторые затруднения при определении знака строки, когда ее нераспределенный остаток равен нулю. В этом случае строку считают положительной при условии, что вторая заполненная клетка, стоящая в столбце, связанном с данной строкой еще одной заполненной клеткой, расположена в положительной строке.
После конечного числа, описанных выше интераций нераспределенный остаток становится равным нулю. В результате получают оптимальный план данной транспортной задачи.
Описанный выше метод решения транспортной задачи имеет более простую логическую схему расчетов, чем метод потенциалов. Поэтому в большинстве случаев для нахождения решения конкретных транспортных задач с использованием ЭВМ применяется метод дифференциальных рент.
Пример решения задачи.
Для транспортной задачи, исходные данные которой приведены в табл. 1.2.1, найти оптимальный план методом дифференциальных рент.
Таблица 1.2.1 Исходные данные транспортной задачи
Пункты отправления |
Пункты назначения |
Запасы |
|||||
В1 |
В2 |
В3 |
В4 |
В5 |
|||
А1 |
7 |
12 |
4 |
8 |
5 |
180 |
|
А2 |
1 |
8 |
6 |
5 |
3 |
350 |
|
А3 |
6 |
13 |
8 |
7 |
4 |
20 |
|
Потребности |
110 |
90 |
120 |
80 |
150 |
550 |
Решение. Перейдем от табл. 1.2.1 к табл. 1.2.2, добавив один дополнительный столбец для указания избытка и недостатка по строкам и одну строку для записи соответствующих разностей.
Таблица 1.2.2 Избытки и недостатки
Пункты отправления |
Пункты назначения |
Запасы |
Недостаток(-), Избыток(+) |
|||||
В1 |
В2 |
В3 |
В4 |
В5 |
||||
А1 |
7 |
12 |
4 120 |
8 |
5 |
180 |
+60 |
|
А2 |
1 110 |
8 90 |
6 |
5 80 |
3 70 |
350 |
-80 |
|
А3 |
6 |
13 |
8 |
7 |
4 |
20 |
+20 |
|
Потребности |
110 |
90 |
120 |
80 |
150 |
550 |
||
Разности |
5 |
4 |
- |
2 |
1 |
В каждом столбце табл. 1.2.2 находим минимальные тарифы и обводим их кружками. Заполняем клетки, в которых стоят указанные числа. Для этого в каждую из клеток записываем максимально допустимое число. Например, в клетку, находящуюся на пересечении строки А1 и столбца В3, записываем число 120. В эту клетку нельзя поместить большее число, поскольку в таком случае были бы превышены потребности пункта назначения В3.
В результате заполнения отмеченных выше клеток получен так называемый условно оптимальный план, согласно которому полностью удовлетворяются потребности пунктов назначения В1, В2, В3 и В4 и частично - пункта назначения В5. При этом полностью распределены запасы пункта отправления А2, частично - пункта отправления А1 и остались совсем нераспределенными запасы пункта отправления А3.
После получения условно оптимального плана определяем избыточные и недостаточные строки. Здесь недостаточной является строка А2, так как запасы пункта отправления А2 полностью использованы, а потребности пункта назначения В5 удовлетворены частично. Величина недостатка равна 80 ед.
Строки А1 и А3 являются избыточными, поскольку запасы пунктов отправления А1 и А3 распределены не полностью. При этом величина избытка строки А1 равна 60 ед., а строки А3 - 20 ед. общая величина избытка 60+20=80 совпадает с общей величиной недостатка, равной 80.
После определения избыточных и недостаточных строк по каждому из столбцов находим разности между минимальными тарифами, записанными в избыточных строках, и тарифами, стоящими в заполненных клетках. В данном случае эти разности соответственно равны 5,4,2,1 (табл. 1.2.2). Для столбца В3 разность не определена, так как число, записанное в кружке в данном столбце, находится в положительной строке. В столбце В1 число, стоящее в кружке, равно 1, а в избыточных строках в клетках данного столбца наименьшим является число 6. Следовательно, разность для данного столбца равна 6-1=5. Аналогично находим разности для других столбцов: для В2 12-8=4; для В4 7-5=2; для В5 4-3=1.
Выбираем наименьшую из найденных разностей, которая является промежуточной рентой. В данном случае промежуточная рента равна 1 и находится в столбце В5. Найдя промежуточную ренту, переходим к табл. 1.2.3
Таблица 1.2.3 Промежуточная рента
Пункты отправления |
Пункты назначения |
Запасы |
Недостаток(-), Избыток(+) |
|||||
В1 |
В2 |
В3 |
В4 |
В5 |
||||
А1 |
7 |
12 |
4 120 |
8 |
5 |
180 |
+60 |
|
А2 |
2 110 |
9 90 |
7 |
6 80 |
4 70 |
350 |
-60 |
|
А3 |
6 |
13 |
8 |
7 |
4 20 |
20 |
-0 |
|
Потребности |
110 |
90 |
120 |
80 |
150 |
550 |
||
Разности |
5 |
3 |
- |
2 |
1 |
В данной таблице в строках А1 и А3 (являющихся избыточными) переписываем соответствующие тарифы из строк А1 и А3 табл. 1.2.2. элементы строки А2 (которая была недостаточной) получаются в результате прибавления к соответствующим тарифам, находящимся в строке А2 табл. 1.2.2, промежуточной ренты, т.е. 1.
В таблице 1.2.3 число заполняемых клеток возросло на одну. Это обусловлено тем, что число минимальных тарифов, стоящих в каждом из столбцов данной таблицы, возросло на единицу, а именно в столбце В5 теперь имеются два минимальных элемента 4. Эти числа заключаем в кружки; клетки, в которых они стоят, следует запомнить. Необходимо заполнить и клетки, в которых в которых стоят наименьшие для других столбцов тарифы. Это клетки табл. 1.2.3, в которых соответствующие тарифы заключены в кружки. После того как указанные клетки определены, устанавливаем последовательность их заполнения. Для этого находим столбцы (строки), в которых имеется лишь одна клетка для заполнения. Определив и заполнив некоторую клетку, исключаем из рассмотрения соответствующий столбец (строку) и переходим к заполнению следующей клетки. В данном случае заполнение клеток проводим в такой последовательности. Сначала заполняем клетки А1В3, А2В1, А2В2, А2В4, так как они являются единственными клетками для заполнения в столбцах В1, В2, В3 и В4. После заполнения указанных клеток заполняем клетку А3В5, поскольку она является единственной для заполнения в строке А3. Заполнив эту клетку, исключаем из рассмотрения строку А3. Тогда в столбце В5 останется все лишь одна клетка для заполнения. Это клетка А2В5, которую заполняем. После заполнения клеток устанавливаем избыточные и недостаточные строки. Как видно из табл. 1.2.3, еще имеется нераспределенный остаток. Следовательно получен условно оптимальный план задачи и нужно перейти к новой таблице. Для этого по каждому их столбцов находим разности между числом, записанным в кружке данного столбца, и наименьшим по отношению к нему числом, находящимся в избыточных строках. Среди этих разностей наименьшая равна 1. Это и есть промежуточная рента. Переходим к следующей таблице (табл. 1.2.4).
Таблица 1.2.4 Оптимальный план транспортной задачи
Пункты отправления |
Пункты назначения |
Запасы |
Недостаток(-), Избыток(+) |
|||||
В1 |
В2 |
В3 |
В4 |
В5 |
||||
А1 |
7 |
12 |
4 120 |
8 |
5 60 |
180 |
0 |
|
А2 |
3 110 |
10 90 |
8 |
7 80 |
5 70 |
350 |
0 |
|
А3 |
7 |
14 |
9 |
8 |
5 20 |
20 |
0 |
|
Потребности |
110 |
90 |
120 |
80 |
150 |
550 |
В новой таблице элементы строк А2 и А3 получены в результате прибавления к соответствующим числам строк А2 и А3(являющихся недостаточными) табл. 1.2.3 промежуточной ренты, т. е 1. В результате в табл. 1.2.4 число клеток ля заполнения возросло еще на одну и стало равным 6. Определяем указанные клетки и заполняем их. Сначала заполняем клетки А1В3, А2В1, А2В2, А2В4, а затем А3В5, А2В5, А1В5. В результате все имеющиеся запасы поставщиков распределяются в соответствии с фактическими потребностями пунктов назначения. Число заполненных клеток равно 7, и вес они имеют наименьший показатель Cij. Следовательно получен оптимальный план исходной транспортной задачи:
X=
При этом плане перевозок общие затраты таковы:
S=4*120+5*60+1*110+8*90+5*80+3*70+4*20=2300.
2. Практическая часть
Условие задачи. Пусть имеются n кандидатов для выполнения этих работ. Назначение кандидата i на работу j связано с затратами Cij (i, j = 1,2,…, n). Требуется найти назначение кандидатов на все работы, дающие минимальные суммарные затраты, при этом каждого кандидата можно назначать только на одну работу и каждая работа может быть занята только одним кандидатом. Исходные данные приведены в таблице:
Таблица .2.4 Исходные данные
AiBj |
B1 |
B2 |
B3 |
B4 |
|
A1 |
3 |
7 |
3 |
8 |
|
A2 |
2 |
4 |
4 |
5 |
|
A3 |
4 |
7 |
2 |
8 |
|
A4 |
9 |
7 |
3 |
8 |
входные данные:
n - количество кандидатов и работ, целый тип данных
C (n, n) - затраты (руб.), вещественный тип данных.
Выходные данные:
Smin- суммарные затраты (руб.), вещественный тип данных;
X (n, n) - назначение кандидата на работу, целый тип данных.
2.1 Решение задачи с помощью математического аппарата
Определим опорный план транспортной задачи методом минимальной стоимости, учитывая что каждого кандидата можно назначать только на одну работу и каждая работа может быть занята только одним кандидатом.
Минимальные суммарные затраты составят:
F=0*3+1*7+0*3+1*2+1*2+0*3+1*8=19
Для нахождения оптимального плана используем метод потенциалов.
Таблица 2.1.1 Опорный план методом минимальной стоимости
Ai Bj |
B1 |
B2 |
B3 |
B4 |
|
A1 |
3 |
7 |
3 |
8 |
|
0 |
1 |
0 |
- |
||
A2 |
2 |
4 |
4 |
5 |
|
1 |
- |
- |
- |
||
A3 |
4 |
7 |
2 |
8 |
|
- |
- |
1 |
- |
||
A4 |
9 |
7 |
3 |
8 |
|
- |
- |
0 |
1 |
Составим систему уравнений Ui+Vj =Cij для заполненных клеток транспортной таблицы и определим значения Ui и Vj.
U1+V1=3U1=0V1=3
U1+V2=7U2=-1V2=7
U1+V3=3U3=0V3=3
U2+V1=2U4=0V4=8
U3+V3=3
U4+V3=3
U4+V4=8
Рассчитаем величины ?ij= Ui+Vj-Cij для свободных клеток таблицы.
?14=U1+V4-C14=0+8-8=0
?22=U2+V2-C22=-1+7-4=2
?23=U2+V3-C23=-1+3-4=-2
?24=U2+V4-C24=-1+8-5=2
?31=U3+V1-C31=0+3-4=-1
?32=U3+V2-C32=0+7-7=0
?34=U3+V4-C34=0+8-8=0
?41=U4+V1-C41=0+3-9=-6
?42=U4+V2-C42=0+7-7=0
Так как есть положительные значения, план является не оптимальным. Необходимо выбрать наибольшее положительное число и осуществить сдвиг по циклу для выбранной клетки.
Рис. 1
Таблица 2.1.3 Опорный план методом потенциалов
Ai Bj |
B1 |
B2 |
B3 |
B4 |
|
A1 |
3 |
7 |
3 |
8 |
|
1 |
- |
0 |
- |
||
A2 |
2 |
4 |
4 |
5 |
|
0 |
1 |
- |
- |
||
A3 |
4 |
7 |
2 |
8 |
|
- |
- |
1 |
- |
||
A4 |
9 |
7 |
3 |
8 |
|
- |
- |
0 |
1 |
Проверим полученный план на оптимальность.
U1+V1=3U1=0V1=3
U1+V3=3U2=-1V2=5
U2+V1=2U3=-1V3=3
U2+V2=4U4=0V4=8
U3+V3=2
U4+V3=3
U4+V4=8
Рассчитаем величины ?ij= Ui+Vj-Cij для свободных клеток таблицы.
?12=U1+V2-C12=0+5-7=-2
?14=U1+V4-C14=0+8-8=0
?23=U2+V3-C23=-1+3-4=-2
?24=U2+V4-C24=-1+8-5=2
?31=U3+V1-C31=-1+3-4=-2
?32=U3+V2-C32=-1+5-7=-3
?34=U3+V4-C34=-1+8-8=-1
?41=U4+V1-C41=0+3-9=-6
?42=U4+V2-C42=0+5-7=-2
Так как есть положительные значения, план является не оптимальным. Необходимо выбрать наибольшее положительное число и осуществить сдвиг по циклу.
Рис. 2
Таблица 2.1.4 Оптимальный план решения задачи
Ai Bj |
B1 |
B2 |
B3 |
B4 |
|
A1 |
3 |
7 |
3 |
8 |
|
1 |
- |
- |
- |
||
A2 |
2 |
4 |
4 |
5 |
|
0 |
1 |
- |
0 |
||
A3 |
4 |
7 |
2 |
8 |
|
- |
- |
1 |
- |
||
A4 |
9 |
7 |
3 |
8 |
|
- |
0 |
0 |
1 |
Проверим полученный план на оптимальность.
U1+V1=3U1=0V1=3
U2+V1=2U2=-1V2=5
U2+V2=4U3=1V3=1
U2+V4=5U4=2V4=6
U3+V3=2
U4+V3=3
U4+V4=8
Рассчитаем величины ?ij= Ui+Vj-Cij для свободных клеток таблицы.
?12=U1+V2-C12=0+5-7=-2
?13=U1+V3-C13=0+1-3=-2
?14=U1+V4-C14=0+6-8=-2
?23=U2+V3-C23=-1+1-4=-4
?31=U3+V1-C31=1+3-4=0
?32=U3+V2-C32=1+5-7=-1
?34=U3+V4-C34=1+6-8=-1
?41=U4+V1-C41=2+3-9=-4
?42=U4+V2-C42=2+5-7=0
Так как все ?ij <=0, то получен оптимальный план решения задачи.
Минимальные суммарные затраты при решении задачи методом потенциалов составят:
F=1*3+0*2+1*4+1*2+0*3+1*8=17
Ответ: для получения минимальных суммарных затрат необходимо назначить кандидата А1 на работу В1, кандидата А2 на работу В2, кандидата А3 на работу В3, кандидата А4 на работу В4.
2.2 Решение задачи с помощью прикладных программ
2.2.1 Технология разработки формы для ввода исходных данных средствами VBA
Для разработки формы ввода исходных данных необходимо отобразить вкладку «Разработчик» на ленте MS Excel. Для этого нужно в системном меню Excel выбрать «Настройка панели быстрого доступа», затем «Основные» и установить флажок на «Показывать вкладку Разработчик на ленте». Переходим на данную вкладку и выбираем Вставить, затем Кнопка. Размещаем кнопку на рабочем листе Excel, в диалоговом окне «Назначить макрос объекту» нажать на кнопку Создать и в открывшемся окне прописываем UserForm1.Show для перехода на форму. Переходим на вкладку «Разработчик» и нажимаем Visual Basic. Для создания формы выбираем Insert, а затем UserForm. Размещаем на форме все необходимые компоненты.
Рис. 3 Форма исходных данных
Далее необходимо щелкнуть 2 раза по кнопке Вычислить, выбрать нужное событие и прописать код программы. Листинг программы находится в Приложении В. Сохраняем книгу Excel с поддержкой макросов и при открытии всегда нажимаем Параметры и выбираем там «Включить это содержимое».
2.2.2 Описание процесса решения
На рабочем листе Excel в диапазоне ячеек от А1 до D4 в зависимости от выбранного количества предприятий размещаются исходные данные . Они будут переносится с формы Исходных данных. Например в ячейку А1 данные берутся из ячейки формы TextBox1, а в ячейке В2 размечается информация из ячейки TextBox2. В ячейках диапазона от А7 до D10 прописываем нули, необходимые для нахождения оптимального решения. Для решения задачи в нужные ячейки прописываем формулы:
Е1 =A1*A7+B1*B7+C1*C7+D1*D7
Е2 =A2*A8+B2*B8+C2*C8+D2*D8
Е3 =A3*A9+B3*B9+C3*C9+D3*D9
Е4 =A4*A10+B4*B10+C4*C10+D4*D10
Е5= =СУММ(E1:E4)
Е7=СУММ(A7:D7)
Е8=СУММ(A8:D8)
Е9=СУММ(A9:D9)
Е10=СУММ(A10:D10)
А11=СУММ(A7:A10)
B11= =СУММ(B7:B10)
C11= =СУММ(C7:C10)
D11= =СУММ(D7:D10)
E5=СУММ(E1:E4)
Для дальнейшего решения необходимо открыть вкладку Данные и выбрать Поиск решений. В открывшемся диалоговом окне установить целевую ячейку $E$5. Для Изменения ячейки выбрать $A$7:$D$10, установить следующие ограничения: $A$11:$D$11=1; $A$7:$D$10 = двоичное; $Е$7:$Е$10 = 1.
Рис. 4 Рабочий лист Excel
Затем нажать на Параметры установить галочки у Линейная модель и Неотрицательное значение. После всего кликнуть Выполнить. И в ячейке Е5 покажутся минимальные суммарные затраты.
Заключение
В курсовом проекте была поставлена проблема формирования оптимального штата фирмы, основа ее актуальность и значимость.
В первой части были рассмотрены теоретические вопросы, раскрывающие суть проблемы курсового проекта и приведены примеры решения задач указанной специфики.
Во второй части составлена математическая модель задачи, предложенной для курсового проекта, выполнено ее решение с помощью математического аппарата, рассмотрены принципы использования прикладной программы MS Excel 2007 для ввода исходных данных и расчета основных параметров указанной модели.
рента потенциал затраты опорный
Литература
1. Мастяева И.Н. Исследование операций в экономике / И.Н. Мастяева, Г.Я. Горбовцов, О.Н. Семенихина. - Московский международный институт эконометрики, информатики, финансов и права, 2005. - 113 с.
2. Павлова Т.Н. Решение задач линейного программирования средствами Excel.: учебное пособие. / Т.Н. Павлова, О.А. Ракова. - Димитровград: «Тетра Системс», 2009. - 321 с.
3. Пелих А.С. Экономико-математические методы и модели в управлении производством / А.С. Пелих, Л.Л. Терехов, Л.А. Терехова. - Ростов н/Д.: «Феликс», 2005. - 248 с.
4. Поган А.М. Delphi. Руководство программиста / А.М. Поган. - М.: Эксмо, 2006. - 480 с.: ил.
5. Фомин Г.П. Математические методы и модели в коммерческой деятельности: учебник / Г.П. Фомин. - 2-е изд., перераб. и доп. - М.: Финансы и статистика, 2005. - 306 с.: ил.
6. Шикин Е.В. Математические методы и модели в управлении: учебное пособие. / - 2-е изд., испр. - М.: Дело, 2002. - 440 с.
7. Шпак Ю.А. Delphi 7 на примерах / Ю.А. Шпак. - ЮниорГод, 2005.
Приложение 1
Листинг модуля Excel
Private Sub ComboBox1_Change()
End Sub
Private Sub CommandButton1_Click()
If (ComboBox1.Text = "2") Then
UserForm2.TextBox3.Visible = False
UserForm2.TextBox4.Visible = False
UserForm2.TextBox7.Visible = False
UserForm2.TextBox8.Visible = False
UserForm2.TextBox9.Visible = False
UserForm2.TextBox10.Visible = False
UserForm2.TextBox11.Visible = False
UserForm2.TextBox12.Visible = False
UserForm2.TextBox13.Visible = False
UserForm2.TextBox14.Visible = False
UserForm2.TextBox15.Visible = False
UserForm2.TextBox16.Visible = False
UserForm2.Label3.Visible = False
UserForm2.Label4.Visible = False
UserForm2.Label7.Visible = False
UserForm2.Label8.Visible = False
End If
If (ComboBox1.Text = "3") Then
UserForm2.TextBox13.Visible = False
UserForm2.TextBox14.Visible = False
UserForm2.TextBox15.Visible = False
UserForm2.TextBox16.Visible = False
UserForm2.TextBox4.Visible = False
UserForm2.TextBox8.Visible = False
UserForm2.TextBox12.Visible = False
UserForm2.TextBox16.Visible = False
UserForm2.Label4.Visible = False
UserForm2.Label8.Visible = False
End If
UserForm2.Show
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Initialize()
ComboBox1.Text = "2"
ComboBox1.AddItem "2"
ComboBox1.AddItem "3"
ComboBox1.AddItem "4"
End Sub
Private Sub CommandButton1_Click()
If (UserForm1.ComboBox1.Text = "2") Then If (TextBox1.Text = "") Or (TextBox2.Text = "") Or (TextBox5.Text = "") Or (TextBox6.Text = "") Then MsgBox "Заполните все поля"
If (UserForm1.ComboBox1.Text = "3") Then
If (TextBox1.Text = "") Or (TextBox2.Text = "") Or (TextBox3.Text = "") Or (TextBox5.Text = "") Or (TextBox6.Text = "") Or (TextBox7.Text = "") Or (TextBox9.Text = "") Or (TextBox10.Text = "") Or (TextBox11.Text = "") Then MsgBox "Заполните все поля"
End If
If (UserForm1.ComboBox1.Text = "4") Then
If (TextBox1.Text = "") Or (TextBox2.Text = "") Or (TextBox3.Text = "") Or (TextBox4.Text = "") Or (TextBox5.Text = "") Or (TextBox6.Text = "") Or (TextBox7.Text = "") Or (TextBox8.Text = "") Or (TextBox9.Text = "") Or (TextBox10.Text = "") Or (TextBox11.Text = "") Or (TextBox12.Text = "") Or (TextBox13.Text = "") Or (TextBox14.Text = "") Or (TextBox15.Text = "") Or (TextBox16.Text = "") Then MsgBox "Заполните все поля"
End If
Worksheets("ИсходныеДанные").Range("A1") = TextBox1.Text
Worksheets("ИсходныеДанные").Range("B1") = TextBox2.Text
Worksheets("ИсходныеДанные").Range("C1") = TextBox3.Text
Worksheets("ИсходныеДанные").Range("D1") = TextBox4.Text
Worksheets("ИсходныеДанные").Range("A2") = TextBox5.Text
Worksheets("ИсходныеДанные").Range("B2") = TextBox6.Text
Worksheets("ИсходныеДанные").Range("C2") = TextBox7.Text
Worksheets("ИсходныеДанные").Range("D2") = TextBox8.Text
Worksheets("ИсходныеДанные").Range("A3") = TextBox9.Text
Worksheets("ИсходныеДанные").Range("B3") = TextBox10.Text
Worksheets("ИсходныеДанные").Range("C3") = TextBox11.Text
Worksheets("ИсходныеДанные").Range("D3") = TextBox12.Text
Worksheets("ИсходныеДанные").Range("A4") = TextBox13.Text
Worksheets("ИсходныеДанные").Range("B4") = TextBox14.Text
Worksheets("ИсходныеДанные").Range("C4") = TextBox15.Text
Worksheets("ИсходныеДанные").Range("D4") = TextBox16.Text
UserForm2.TextBox1.Text = Clear
UserForm2.TextBox2.Text = Clear
UserForm2.TextBox3.Text = Clear
UserForm2.TextBox4.Text = Clear
UserForm2.TextBox5.Text = Clear
UserForm2.TextBox6.Text = Clear
UserForm2.TextBox7.Text = Clear
UserForm2.TextBox8.Text = Clear
UserForm2.TextBox9.Text = Clear
UserForm2.TextBox10.Text = Clear
UserForm2.TextBox11.Text = Clear
UserForm2.TextBox12.Text = Clear
UserForm2.TextBox13.Text = Clear
UserForm2.TextBox14.Text = Clear
UserForm2.TextBox15.Text = Clear
UserForm2.TextBox16.Text = Clear
End Sub
Private Function ValidateNumeric(strText As String) _
As Boolean
ValidateNumeric = CBool(strText = "" _
Or strText = "-." _
Or strText = "." _
Or IsNumeric(strText))
End Function
Private Sub TextBox1_Change()
If Not ValidateNumeric(TextBox1.Text) Then
TextBox1.Text = ""
End If
End Sub
Private Sub TextBox2_Change()
If Not ValidateNumeric(TextBox2.Text) Then
TextBox2.Text = ""
End If
End Sub
Private Sub TextBox3_Change()
If Not ValidateNumeric(TextBox3.Text) Then
TextBox3.Text = ""
End If
End Sub
Private Sub TextBox4_Change()
If Not ValidateNumeric(TextBox4.Text) Then
TextBox4.Text = ""
End If
End Sub
Private Sub TextBox5_Change()
If Not ValidateNumeric(TextBox5.Text) Then
TextBox5.Text = ""
End If
End Sub
Private Sub TextBox6_Change()
If Not ValidateNumeric(TextBox6.Text) Then
TextBox6.Text = ""
End If
End Sub
Private Sub TextBox7_Change()
If Not ValidateNumeric(TextBox7.Text) Then
TextBox7.Text = ""
End If
End Sub
Private Sub TextBox8_Change()
If Not ValidateNumeric(TextBox8.Text) Then
TextBox8.Text = ""
End If
End Sub
Private Sub TextBox9_Change()
If Not ValidateNumeric(TextBox9.Text) Then
TextBox9.Text = ""
End If
End Sub
Private Sub TextBox10_Change()
If Not ValidateNumeric(TextBox10.Text) Then
TextBox10.Text = ""
End If
End Sub
Private Sub TextBox11_Change()
If Not ValidateNumeric(TextBox11.Text) Then
TextBox11.Text = ""
End If
End Sub
Private Sub TextBox12_Change()
If Not ValidateNumeric(TextBox12.Text) Then
TextBox12.Text = ""
End If
End Sub
Private Sub TextBox13_Change()
If Not ValidateNumeric(TextBox13.Text) Then
TextBox13.Text = ""
End If
End Sub
Private Sub TextBox14_Change()
If Not ValidateNumeric(TextBox14.Text) Then
TextBox14.Text = ""
End If
End Sub
Private Sub TextBox15_Change()
If Not ValidateNumeric(TextBox15.Text) Then
TextBox15.Text = ""
End If
End Sub
Private Sub TextBox16_Change()
If Not ValidateNumeric(TextBox16.Text) Then
TextBox16.Text = ""
End If
End Sub
Размещено на Allbest.ru
Подобные документы
Основные подходы и способы решения транспортной задачи, ее постановка и методы нахождения первоначального опорного решения. Математическая модель транспортной задачи и алгоритм ее решения методом потенциалов. Составление опорного плана перевозок.
курсовая работа [251,0 K], добавлен 03.07.2012Типы транспортных задач и методы их решения. Поиск оптимального плана перевозок методом потенциалов. Решение задачи с использованием средств MS Excel. Распределительный метод поиска оптимального плана перевозок. Математическая модель, описание программы.
курсовая работа [808,7 K], добавлен 27.01.2011Составление математической модели, целевой функции, построение системы ограничений и симплекс-таблиц для решения задач линейного программирования. Решение транспортной задачи: определение опорного и оптимального плана, проверка методом потенциалов.
курсовая работа [54,1 K], добавлен 05.03.2010Определение первичного опорного плана разными способами: методом северо-западного угла, методом минимальной стоимости, методом Фогеля. Перепланировка поставок с помощью метода потенциалов для каждого плана. Анализ эффективности их использования.
контрольная работа [67,2 K], добавлен 06.11.2012Применение линейного программирования для решения транспортной задачи. Свойство системы ограничений, опорное решение задачи. Методы построения начального опорного решения. Распределительный метод, алгоритм решения транспортной задачи методом потенциалов.
реферат [4,1 M], добавлен 09.03.2011Содержание методов аппроксимации Фогеля, потенциала, наименьшей стоимости и северо-западного угла как путей составления опорного плана транспортной задачи на распределение ресурсов с минимальными затратами. Ее решение при помощи электронных таблиц.
курсовая работа [525,7 K], добавлен 23.11.2010Составление математической модели задачи. Расчёт оптимального плана перевозок с минимальной стоимостью с использованием метода потенциалов. Оптимальный вариант специального передвижного оборудования для технического обеспечения управления производством.
контрольная работа [135,3 K], добавлен 01.06.2014Формулировка проблемы в практической области. Построение моделей и особенности экономико-математической модели транспортной задачи. Задачи линейного программирования. Анализ постановки задач и обоснования метода решения. Реализация алгоритма программы.
курсовая работа [56,9 K], добавлен 04.05.2011Понятие и содержание транспортной задачи, структура ее ограничений, составление соответствующей матрицы. Существующие методы ее разрешения, история их разработки и анализ эффективности: венгерский, потенциалов. Определение потенциалов текущего плана.
контрольная работа [72,7 K], добавлен 23.04.2016Особенности построения опорных планов транспортной модели методом северо-западного угла, методом минимальной стоимости, методом Фогеля. Оптимизация транспортной модели открытого и закрытого типа с помощью метода потенциала на основе опорного плана.
курсовая работа [68,6 K], добавлен 25.04.2014