2023華樹杯数学モデリングアイデア - レビュー: 人材配置の最適モデル

コンテストのアイデアが 0 件あります

(コンテストの質問が出たらすぐに CSDN で共有します)

https://blog.csdn.net/dc_sinor?type=blog

1 説明

大学の数学科の人員配置問題は整数計画法の最適化問題であり、数学科の既存の技術力と制約を詳細に分析することで、問題1の解法において、直接収入が最も大きい整数を求める。計画の場合、得られる直接利益の最大値は 42,860 元であり、問​​題 2 の解決策では、教授は週 4 日しか勤務できず、准教授は週 5 日しか勤務できないため、このような制約の下では、リスト週最大直接収入の整数計画モデル、最大直接収入は 198720 元です。

2 問題の概要

数学科の教員リソースは限られており、現在、4 つの異なるクライアントから 4 つのプロジェクトがあり、仕事の難易度もプロジェクトごとに関与する技術者の報酬も異なります。それで:

1. 仕事の要件を満たす場合、その日の直接的な利益を最大化するために、数学部門の既存の技術力をどのように割り当てますか?

2. 教授・准教授の勤務時間が制約される中で、数学科の既存の技術力をどのように配分し、1週間でその直接的な利益を最大化するか。

3 モデリングプロセス

3.1 境界の説明

1. 技術的強みが異なる人が毎日仕事に割り当てられる確率は同じであり、同じ専門職名を持つ人がどこで仕事をするかはランダムです。

2. 顧客は、所定の賃金の支払いに加えて、勤務期間中のすべての関連費用(食費、バス代など)も支払わなければなりません。

3.作業は即日完了いたします。

3.2 表記規則

ここに画像の説明を挿入

3.3 分析

質問の意味から、各プロジェクトには、異なる専門職名を持つ要員の数に関して異なる制限と要件があることがわかります。顧客にとっては品質保証が鍵であり、教授は比較的不足しているため、各プロジェクトには一定数以上の教授の制限があります。プロジェクトには高度な技術要件があるため、ティーチングアシスタントは参加できません。2 つのプロジェクトの主要な作業はオフィス内で完了するため、1 人あたり 1 日あたり 50 元の管理費がかかります。

上記の分析から、最大直接収入 = 総収入 - 技術スタッフの賃金 -、両方の場所の保管料が得られます。

3.4 モデルの確立

ここに画像の説明を挿入ここに画像の説明を挿入ここに画像の説明を挿入

3.5 モデルソリューション

関連するデータ表は次のとおりです。
数学科の役職構成と給与
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

4 モデルの評価とプロモーション

このモデルは合理的な仮定を使用し、人員配置と直接利益を得るためにさまざまな制約を十分に考慮します。

どちらもこのモデルの最適解であり、最適値であり、武漢大学数学科の人員配置の指針となり得る。しかし、モデルの仮定から、対数が

部門の既存の技術力の配置はランダムであり、同じ労働時間でも、より多く働く人もいれば、不公平に働く人もいます。

したがって、仕事のニーズを満たす場合、仕事を割り当てる際には、人為的に各人の仕事の数があまり離れすぎないように、または均等になるように努めるべきです。

このモデルは、人材の配置を通じて数値化の観点から数学科の直接的な利益を最大限に引き出すものです。このモデルと同様のすべての線形計画モデルは、このモデルの方法を使用して取得できます。ただし、このモデルは単一目的の計画にすぎず、これに基づいて目的要件を追加することができます。たとえば、数学部門の直接的な利益を最大化することに基づいて、クライアントの支出は最小限に抑えられます。このようにして、多目的プログラミング モデルが確立されます。より複雑な実践的な問題を解決します。

5 実装コード

f=[-1000;-800;-550;-450;-1500;-800;-650;-550;-1300;-900;-650;-350;-1000;-800;-650;-450];
A=zeros(9,16);
for i=1:1
   for j=1:16
      A(i,j)=1; 
   end
end
for i=2:5
   for j=i-1:4:11+i
      A(i,j)=1;
   end
end
i0=0;
for i=6:9
   for j=i0+1:(i-5 )*4
      A(i,j)=1;
   end
   i0=j;
end
b=[64;17;20;15;18;12;25;17;10];
Aeq=zeros(1,16);
Aeq(1,3)=1;
beq=[2];
LB=[1;2;2;1;2;2;2;2;2;2;2;1;1;3;1;0];
UB=[3;5;2;2;inf;inf;inf;8;inf;inf;inf;inf;inf;inf;inf;0];
[x,fval]=linprog(f,A,b,Aeq,beq,LB,UB)



f=[-1000;-1000;-1000;-1000;-1000;-1000;-1000;-1500;-1500;-1500;-1500;-1500;-1500;-1500;-1250;-1250;-1250;-1250;-1250;-1250;-1250;-950;-950;-950;-950;-950;-950;-950;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-850;-850;-850;-850;-850;-850;-850;-750;-750;-750;-750;-750;-750;-750;-600;-600;-600;-600;-600;-600;-600;-700;-700;-700;-700;-700;-700;-700;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-500;-500;-500;-500;-500;-500;-500;-600;-600;-600;-600;-600;-600;-600;-350;-350;-350;-350;-350;-350;-350;-450;-450;-450;-450;-450;-450;-450];
A=zeros(60,112);
for i=1;1
   for j=1:112
      A(i,j)=1;
   end 
end
i0=0;
for i=2:4
   for j=i0+1:(i-1)*28
      A(i,j)=1;
   end
   i0=j;
end
for i=5:32
   for j=(i-4):28:80+i
      A(i,j)=1;
   end
end
for i=33:39
   for j= i-32:7:(i-11)
      A(i,j)=1;
   end
end
j0=j;
for i=40:46
   for j=j0+(i-39):7:(i-18)+j0
      A(i,j)=1;
   end
end
j0=j;
for i=47:53
   for j=j0+(i-46):7:j0+(i-25)
      A(i,j)=1;
   end
end
j0=j;
for i=54:60
   for j=j0+(i-53):7:j0+(i-32)
      A(i,j)=1;
   end
end
b=[362;48;125;119;17;17;17;17;17;17;17;20;20;20;20;20;20;20;15;15;15;15;15;15;15;18;18;18;18;18;18;18;12;12;12;12;12;12;12;25;25;25;25;25;25;25;17;17;17;17;17;17;17;10;10;10;10;10;10;10];
UB=[3;3;3;3;3;3;3;5;5;5;5;5;5;5;3;3;3;3;3;3;3;2;2;2;2;2;2;2;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;8;8;8;8;8;8;8;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;0;0;0;0;0;0;0];
LB=[1;1;1;1;1;1;1;2;2;2;2;2;2;2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;3;3;3;3;3;3;3;1;1;1;1;1;1;1;0;0;0;0;0;0;0];
Aeq=zeros(7,112);
for i=1:7
   Aeq(i,i+14)=1;
end
beq=[2;2;2;2;2;2;2];
[x,fval]=linprog(f,A,b,Aeq,beq,LB,UB)

おすすめ

転載: blog.csdn.net/dc_sinor/article/details/131995959