Автор работы: Пользователь скрыл имя, 08 Апреля 2011 в 15:35, курсовая работа
Улучшения качества функционирования некоторой социальной системы возможно только при тщательном анализе перечисленных выше требований, так как именно они определяют вид целевых функций и накладываемых ограничений, а так же метод исследования, и в конечном счете от них зависит реализация разработанных рекомендаций. Таким образом, управление трудовыми ресурсами возможно только на научной основе, и именно этой цели и призваны служить наука о руководстве и методы исследования операций.
ВВЕДЕНИЕ 2
1. КОМПЛЕКТОВАНИЕ ШТАТА ОРГАНИЗАЦИИ. 4
1.1. Набор кандидатов. 4
1.2. Отбор из числа кандидатов лиц, наиболее удовлетворяющих требованиям, которые предъявляются к будущим сотрудникам. 7
2. РАСПРЕДЕЛЕНИЕ ТРУДОВЫХ РЕСУРСОВ. 9
2.1. Модели транспортного типа. 9
2.. Модели целевого программирования. 10
2.3. Модели последовательного назначения исполнителей. 11
2.4. Имитационные модели. 11
3. ИСПОЛЬЗОВАНИЕ ТРУДОВЫХ РЕСУРСОВ. 12
4. АНАЛИЗ РЕАЛИЗАЦИИ ФУНКЦИЙ УПРАВЛЕНИЯ ПЕРСОНАЛОМ 13
5. ПРАКТИЧЕСКАЯ ЗАДАЧА 16
Заключение 29
вероятность
=
Если теперь увеличить на единицу число постоянных гидов, которых станет теперь S + 1, изменение затрат будет равно:
Среднее изменение затрат тогда будет равно
Чтобы найти оптимум, заметим, что
1) P(S+1)
является убывающей функцией S;
2)
является функцией, вариация которой зависит от вида p(х) и q1(y). Отсюда следует, что не обязательно выпукла4.
S | 7 | 8 | 9 | 10 |
P(S+1) | 0,82 | 0,72 | 0,60 | 0,48 |
0,4074 | 0,4114 | 0,3844 | 0,3418 | |
-141,5 | -100,2 | -61 | -27,2 |
S | 11 | 12 | 13 | 14 | 15 | 16 |
P(S+1) | 0,36 | 0,26 | 0,16 | 0,08 | 0,02 | 0 |
0,2778 | 0,2218 | 0,1500 | … | … | … | |
-0,4 | +21,1 | +37,5 | … | … | … |
Для S = 11, < 0, следовательно < .
Для S = 12, >0, следовательно < .
Тогда оптимум равен S = 12 для будних дней.
Для воскресных дней аналогичное вычисление дает
так что оптимум достигается при S = 13.
Можно также вычислить
получается, что
= 6 ∙ (- 0,4) + (- 32,2) = - 34,6,
= 6 ∙ 21,1 + (- 0,5) = 126,1,
= 6 ∙ 37,5 + 24,7 = 249,7;
отсюда следует, что с учетом воскресений оптимум действительно имеет место для S =12.
Как легко видеть, метод маргинального анализа хотя и является более простым, но все же приводит к достаточно громоздким вычислениям.
Реальные задачи имеют дело с гораздо более сложными ситуациями; таким образом, к моделированию приходится прибегать весьма часто. Тем не менее мы позволим себе посоветовать тем, кто занимается подобного рода вопросами, попытаться проводить аналитическое изучение до тех пор, пока это возможно, даже если оно должно все равно завершиться применением моделирования как метода вычисления. Действительно, тщательный математический анализ позволит им избегнуть ловушек, которые расставлены почти во всех задачах, связанных с вероятностными и статистическими понятиями.
Потребность в персонале, как и в других видах ресурсов, зависит от многих условий. Планировать и удовлетворять потребность в персонале намного сложнее, чем в материальных и финансовых ресурсах На потребность в персонале влияют обстоятельства, связанные с характеристикой достигнутого уровня развития фирмы и предполагаемого состояния после завершения следующего этапа развития. Этими обстоятельствами могут быть: динамика и прогноз состояния рынка, на котором оперирует организация; ее внутренние ресурсы, в том числе человеческие, их развитие; политика в области производства, персонала и экономики; состояние рынка труда по требующимся профессиям и т.д.
Реальные
возможности системы планирования человеческих
ресурсов определяются, главным образом,
характером информационной базы, содержанием
банка данных. Там, где с помощью планирования
решают широкий круг кадровых задач, должен
быть создан обширный банк данных,
характеризующих подробно каждого
работника, прежде всего его профессионально-
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin,
Grids;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
SpinEdit3: TSpinEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
CheckBox1: TCheckBox;
StringGrid1: TStringGrid;
Label4: TLabel;
StringGrid2: TStringGrid;
StringGrid3: TStringGrid;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Label7: TLabel;
Edit2: TEdit;
Label8: TLabel;
Edit3: TEdit;
Label9: TLabel;
procedure Button1Click(Sender: TObject);
procedure Solution(min, max, numOfWeeks: integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
var priceA:array[1..700] of integer;
devA:array[1..700] of integer;
probOfDemand:array[4..16] of integer;
probOfWeek:array[0..7] of integer;
probOfSun:array[0..7] of integer;
S:integer;
C1, C2, C3:integer;
implementation
{$R *.dfm}
procedure TForm1.Solution(min, max, numOfWeeks: integer);
var i, j, numS, gid: integer;
p: integer;
demand: integer;
price:integer;
other:integer;
summa:longint;
minn: real;
// midI, devI:integer;
begin
randomize;
minn:=100000000;
for numS:=min to max do
begin
ListBox1.Items.Add(' Кол-во гидов: '+IntToStr(numS));
summa:=0;
for i:=1 to numOfWeeks*7 do
begin
p:=random(100);
// Вычисляется спрос
for j:=4 to 16 do
if (p<probOfDemand[j]) then
begin
demand:=j;
break;
end else p:=p-probOfDemand[j];
// Вычисляется спрос конец
if demand<=numS then price:=C1*numS {если хватает сотрудников}
else {если не хватает сотрудников}
begin
if (i mod 7<>0) then {если будний день}
begin
p:=random(100);
for j:=0 to 7 do {вычисл. предлож-я в будние}
if (p<probOfWeek[j]) then
begin
other:=j;
break;
end else p:=p-probOfWeek[j];
end
else {если выходной день}
begin
p:=random(100);
for j:=0 to 7 do {вычисл. предлож-я в выходные}
if (p<probOfSun[j]) then
begin
other:=j;
break;
end else p:=p-probOfSun[j];
end;
if (demand-numS<=other) then price:=C1*numS+C2*(demand-
else price:=C1*numS+C2*(demand-
end;
priceA[i]:=price;
summa:=summa+priceA[i];
if (CheckBox1.Checked) then
begin
ListBox1.Items.Add(IntToStr(
ListBox1.Items.Add('Цена в день №'+IntToStr(i)+': '+IntToStr(priceA[i]));
end;
end;
if (summa/numOfWeeks) < minn then
begin
minn := summa/numOfWeeks;
gid := numS;
end;
ListBox1.Items.Add('
Итого в неделю в среднем: '+': '+FloatToStr(summa/numOfWeeks)
end;
ListBox1.Items.Add('**********
ListBox1.Items.Add('Ответ:
сумма = '+FloatToStr(minn)+' гидов:'+IntToStr(gid));
end;
procedure rando;
var s1,s2,s3 : byte;
a, i:byte;
begin
for i:=0 to 7 do
begin
Form1.StringGrid2.Cells[i,0]:=
Form1.StringGrid3.Cells[i,0]:=
end;
s1 := 0;
s2 := 0;
s3 := 0;
randomize;
for i:=1 to 12 do
begin
if not(s1 = 100) then
begin
repeat
a := random( 20 );
until (a <= 100 - s1);
s1 := s1 + a;
end
else
a := 0;
Form1.StringGrid1.Cells[i,1]:=
end;
Form1.StringGrid1.Cells[13,1]:
for i:=1 to 6 do