Формирование оптимального штата фирмы

Экономические задачи, сводящиеся к транспортной модели. Метод дифференциальных рент, применяемый для решения транспортной задачи. Решение задачи формирования оптимального штата фирмы с помощью математического аппарата и прикладной программы MS Excel 2007.

Рубрика Экономико-математическое моделирование
Вид курсовая работа
Язык русский
Дата добавления 12.04.2012
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Оглавление

  • Введение
  • 1. Теоретическая часть
    • 1.1 Экономические задачи, сводящиеся к транспортной модели
    • 1.2 Метод дифференциальных рент, для решения транспортной задачи
  • 2. Практическая часть
    • 2.1 Решение задачи с помощью математического аппарата
    • 2.2 Решение задачи с помощью прикладных программ
    • 2.3 Автоматизация решения задачи
  • Заключение
  • Библиографический список
  • Приложение А Блок-схема алгоритма задачи
  • Приложение В Листинг модуля Excel
  • ВВЕДЕНИЕ
  • Тема данного курсового проекта: «Формирование оптимального штата фирмы». Данная работа посвящена изучению теоретических вопросов, связанных с этой темой, а также созданию программного продукта, необходимого для автоматизации работы сотрудников фирмы, которые занимаются подбором кадрового состава предприятия.
  • Проблема формирования оптимального штата фирмы не утратила своего значения и в наши дни, а даже наоборот приобрела еще большую значимость и актуальность, потому что с каждым днем открывается все больше и больше предприятий, разных по масштабу и количеству рабочих мест. А для того, что бы все они работали более эффективно, не тратили лишних денежных средств, а наоборот давали хорошую прибыль необходимо как можно серьезнее относится к подбору штата сотрудников.

Решение данной проблемы было сформулировано и решено еще в 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 Решение задачи с помощью математического аппарата

Определим опорный план транспортной задачи методом минимальной стоимости, учитывая что каждого кандидата можно назначать только на одну работу и каждая работа может быть занята только одним кандидатом.

Таблица 2.1.1 Опорный план методом минимальной стоимости

Ai Bj

B1

B2

B3

B4

A1

3

0

7

1

3

0

8

-

A2

2

1

4

-

4

-

5

-

A3

4

-

7

-

2

1

8

-

A4

9

-

7

-

3

0

8

1

Минимальные суммарные затраты составят:

F=0*3+1*7+0*3+1*2+1*2+0*3+1*8=19

Для нахождения оптимального плана используем метод потенциалов.

Составим систему уравнений 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

Так как есть положительные значения, план является не оптимальным. Необходимо выбрать наибольшее положительное число и осуществить сдвиг по циклу для выбранной клетки.

Таблица 2.1.3 Опорный план методом потенциалов

Ai Bj

B1

B2

B3

B4

A1

3

1

7

-

3

0

8

-

A2

2

0

4

1

4

-

5

-

A3

4

-

7

-

2

1

8

-

A4

9

-

7

-

3

0

8

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.1.4 Оптимальный план решения задачи

Ai Bj

B1

B2

B3

B4

A1

3

1

7

-

3

-

8

-

A2

2

0

4

1

4

-

5

0

A3

4

-

7

-

2

1

8

-

A4

9

-

7

0

3

0

8

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. Размещаем на форме все необходимые компоненты.

Рис. 2.2.1 Форма исходных данных

Далее необходимо щелкнуть 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.

Рис. 2.2.2 Рабочий лист Excel

Затем нажать на Параметры установить галочки у Линейная модель и Неотрицательное значение. После всего кликнуть Выполнить. И в ячейке Е5 покажутся минимальные суммарные затраты.

2.3 Автоматизация решения задачи

2.3.1 Техническое задание

Полное наименование программной разработки: «Автоматизация процесса решения задач формирования оптимального штата фирмы».

Разработчик данного программного продукта -- студент группы 401П ВГЭТК Андреева Юлия Александровна, в дальнейшем именуемый как «разработчик».

Разработка ведется на основании задания на курсовое проектирование, выданное пцк информационных технологий в лице преподавателя Еловенко Н.А.

Разработка программы ведется на языке программирования Object Pascal в среде программирования Borland Delphi 2007.

Программа должна выполнять следующие функции:

- ввод данных;

- проверка корректности исходных данных;

- решение задачи оптимального назначения кандидатов на работу;

- нахождение минимальных суммарных затрат.

В процессе работы программы входной информацией является ввод затрат, а выходными данными - минимальные суммарные затраты и назначение кандидатов на определенную работу.

Уровень надежности программы должен соответствовать технологии программирования.

Программа должна контролировать выбор пользователя пункта меню «Выход» и предупреждать его о потере « не сохраненных изменений».

Программа должна корректно работать на следующем или совместимым с ним оборудовании:

- процессор Intel Pentium 100 Мгц и выше;

- операционная система Windows XP;

- среда программирования Borland Delphi 2007;

- свободное место на диске не менее 20 Мб;

- клавиатура;

- мышь;

- монитор;

- оперативная память не менее 256 Мб.

- операционная система Windows XP или более поздняя версия;

- пакет прикладных программ Microsoft Office 2007.

Блок-схема алгоритма задачи представлена в Приложении А.

транспортный штат математический программа

Заключение

В курсовом проекте была поставлена проблема формирования оптимального штата фирмы, основа ее актуальность и значимость.

В первой части были рассмотрены теоретические вопросы, раскрывающие суть проблемы курсового проекта и приведены примеры решения задач указанной специфики.

Во второй части составлена математическая модель задачи, предложенной для курсового проекта, выполнено ее решение с помощью математического аппарата, рассмотрены принципы использования прикладной программы MS Excel 2007 для ввода исходных данных и расчета основных параметров указанной модели.

Создать программу для решения задачи курсового проекта с помощью среды программирования Delphi не удалось.

Таким образом, не все поставленные цели были выполнены, цель курсового проекта достигнута частично.

В дальнейшем планируется автоматизировать процесс решения задачи курсового проекта с помощью среды программирования Delphi.

Библиографический список

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.

Приложение А

Блок-схема алгоритма задачи

нет

да

Приложение В

Листинг модуля 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


Подобные документы

  • Основные методы решения задачи оптимального закрепления операций за станками. Разработка экономико-математической модели задачи. Интерпретация результатов и выработка управленческого решения. Решение задачи "вручную", используя транспортную модель.

    курсовая работа [1,0 M], добавлен 25.01.2013

  • Графический метод решения задачи оптимизации производственных процессов. Применение симплекс-алгоритма для решения экономической оптимизированной задачи управления производством. Метод динамического программирования для выбора оптимального профиля пути.

    контрольная работа [158,7 K], добавлен 15.10.2010

  • Применение линейного программирования для решения транспортной задачи. Свойство системы ограничений, опорное решение задачи. Методы построения начального опорного решения. Распределительный метод, алгоритм решения транспортной задачи методом потенциалов.

    реферат [4,1 M], добавлен 09.03.2011

  • Формулировка проблемы в практической области. Построение моделей и особенности экономико-математической модели транспортной задачи. Задачи линейного программирования. Анализ постановки задач и обоснования метода решения. Реализация алгоритма программы.

    курсовая работа [56,9 K], добавлен 04.05.2011

  • Симплекс метод решения задач линейного программирования. Построение модели и решение задачи определения оптимального плана производства симплексным методом. Построение двойственной задачи. Решение задачи оптимизации в табличном процессоре MS Excel.

    курсовая работа [458,6 K], добавлен 10.12.2013

  • Технология решения задачи с помощью Поиска решения Excel. Отбор наиболее эффективной с точки зрения прибыли производственной программы. Задачи на поиск максимума или минимума целевой функции при ограничениях, накладываемых на независимые переменные.

    лабораторная работа [70,0 K], добавлен 09.03.2014

  • Программное определение оптимального сочетания зерновых культур и оптимальных рационов кормления с помощью программы Excel. Экономико-математические модели для расчета оптимального распределения минеральных удобрений, определение перечня переменных.

    контрольная работа [3,1 M], добавлен 06.12.2011

  • Типы транспортных задач и методы их решения. Поиск оптимального плана перевозок методом потенциалов. Решение задачи с использованием средств MS Excel. Распределительный метод поиска оптимального плана перевозок. Математическая модель, описание программы.

    курсовая работа [808,7 K], добавлен 27.01.2011

  • Решение задачи оптимального закрепления грузоотправителей (ГО) за грузополучателями (ГП) и распределения груза для минимизации транспортной работы методами линейного программирования с использованием MS Excel. Расчет кратчайшего расстояния между ГО и ГП.

    курсовая работа [357,4 K], добавлен 06.03.2013

  • Математическая теория оптимального принятия решений. Табличный симплекс-метод. Составление и решение двойственной задачи линейного программирования. Математическая модель транспортной задачи. Анализ целесообразности производства продукции на предприятии.

    контрольная работа [467,8 K], добавлен 13.06.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.