1

Modeling and Solving Linear Programming with R book には、セクション 3.7 にシフトの計画に関する良い例があります。Rで解決できません。また、本で提供されている解決策も明確ではありません。

問題

ある会社に 24 時間体制の救急センターがあります。以下の表では、1 日が分割された 4 時間の 6 つのシフトのそれぞれについて、従業員の最低限の必要性が詳述されています。

     Shift    Employees
00:00 - 04:00    5
04:00 - 08:00    7
08:00 - 12:00   18
12:00 - 16:00   12
16:00 - 20:00   15
20:00 - 00:00   10

R ソリューション

上記を解決するために以下を使用しました。

library(lpSolve)
obj.fun <- c(1,1,1,1,1,1)
constr <- c(1,1,0,0,0,0,
            0,1,1,0,0,0,
            0,0,1,1,0,0,
            0,0,0,1,1,0,
            0,0,0,0,1,1,
            1,0,0,0,0,1)
constr.dir <- rep(">=",6)
constr.val <-c (12,25,30,27,25,15)
day.shift <- lp("min",obj.fun,constr,constr.dir,constr.val,compute.sens = TRUE)

そして、次の結果が得られます。

> day.shift$objval
[1] 1.666667
> day.shift$solution
[1] 0.000000 1.666667 0.000000 0.000000 0.000000 0.000000

これは、本で言及されている数値解法にはほど遠いものです。

数値解法

数値解によって必要な解の総数は です38。ただし、問題は、各期間に定義された最小従業員数があると述べているため、このソリューションはどのように有効でしょうか?

s1 5 s2 6 s3 12 s4 0 s5 15 s6 0

4

1 に答える 1