最適な組合せ・順序を求める計算
表を読んで「線形計画法・ジョンソン法・段取り/巡回・割当・ライセンス購入」の5つの型のどれかを見分け、最大利益・最短時間・最小費用をそれぞれ2〜3分で計算できるようになる。
「限られた原料・時間・予算をどう配るか」は企業経営の基本で、科目Aでは表を読んで足し算と掛け算をするだけで解ける得点源です。型ごとの解き方を覚えれば、ほかに暗記することはほとんどありません。
このレッスンで稽古する(用語チェック・過去問)結論:5つの型は解き方で見分ける
「最適な組合せ・順序」の問題は、型が分かれば解き方は1つに決まります。科目Aに出るのは次の5つの型です。どれも電卓なしで解ける数値になっています。
| 型 | 問題文のサイン | 解き方 | 出題回数(本試験系/免除) |
|---|---|---|---|
| ① 線形計画法 | 製品ごとの利益と、原料・時間などの上限 | 制約が2つ → 交点と端点の利益を全部比べる/制約が時間だけ → 1分当たり利益が高い順に作る | 8/33 |
| ② ジョンソン法 | 2台の機械を M1→M2 の順に通す | 一番小さい時間を探し、M1 の時間なら前から、M2 の時間なら後ろから並べる | 1/7 |
| ③ 段取り・巡回 | FROM→TO の時間表があり、全部を1回ずつ回る | 順序を総当たりする(小さい値の矢印を手がかりに絞る) | 0/8 |
| ④ 割当 | 担当者×顧客の表があり、1人1件 | 重複しない組合せを全部足して比べる(3人なら6通り) | 0/3 |
| ⑤ ライセンス購入 | 買い方ごとの価格表と「最低◯冊必要」などの条件 | 必須の条件を先に満たし、残りを最も安い単価で買う | 1/0 |
出題回数は公開過去問での観測値で、CBT での出題確率ではありません。回数では①が圧倒的に多いので、まず①を確実に解けるようにしましょう。
flowchart TD
Q["何を決める問題?"] --> P1["何個ずつ作るか"]
Q --> P2["誰に何を割り当てるか"]
Q --> P3["どの順に処理するか"]
Q --> P4["どの買い方を組み合わせるか"]
P1 --> L1["① 制約が2つ:交点と端点を比べる"]
P1 --> L2["① 制約が時間だけ:1分当たり利益の高い順"]
P2 --> L4["④ 割当:重複なしで全通り"]
P3 --> L3["② 機械2台を順に通す:ジョンソン法"]
P3 --> L5["③ 切替・移動の表:段取り/巡回を総当たり"]
P4 --> L6["⑤ 必須条件を先に満たし、残りは最安単価"]
① 線形計画法(制約2つ):答えは「角」のどこかにある
線形計画法は、限られた資源の中で利益が最大になる生産量を求める方法です。最大になるのは、作れる範囲(グラフ上の多角形)の角のどれかです。2製品・2制約なら、調べる角は「交点(両方の資源をちょうど使い切る点)」と「端点(片方の製品だけを作る点)2つ」の3つで足ります。
手順
- 製品の個数を x、y とおき、表の各行を「必要量×個数 ≦ 上限」の式にする(これが制約条件)
- 2つの式を「=」にして連立方程式を解く → 交点
- x だけ作る場合と y だけ作る場合の最大個数を出す → 端点(上限は厳しいほうの制約で決まる)
- 3つの点それぞれで利益(目的関数)を計算し、一番大きいものを選ぶ
交点が最大になることが多いですが、いつもそうとは限りません。3つとも計算して比べるのが確実です。端点を出すときは、緩いほうの制約で個数を出してしまう間違いに気をつけてください(2019年の問題で X だけを作る場合、原料Bなら80個作れそうに見えますが、原料Aの制約で50個が上限です)。
① の別パターン:制約が時間だけなら「時給」の高い順
2016年の問題のように、全製品に共通する制約が「工場の稼働時間」の1つだけで、あとは製品ごとの需要上限しかない場合は、連立方程式を使いません。限られた資源1単位(ここでは1分)当たりの利益を計算し、その値が高い製品から需要上限まで作っていきます。
たとえば、使える時間が決まっていてアルバイトを掛け持ちするなら、1回の報酬が高い仕事ではなく時給が高い仕事から入れるのと同じ考え方です。
| 製品 | 1個の利益 | 1個の製造時間 | 1分当たりの利益 |
|---|---|---|---|
| X | 1,800円 | 6分 | 300円 |
| Y | 2,500円 | 10分 | 250円 |
| Z | 3,000円 | 15分 | 200円 |
1個当たりの利益では Z が一番高いのに、1分当たりでは最下位です。出題者はこの逆転を狙っています。
② ジョンソン法:一番小さい時間から、前か後ろに並べる
ジョンソン法は、すべての製品が2台の機械を同じ順番(M1→M2)で通るとき、全部の加工が終わるまでの時間を最短にする並べ方です。ルールは1つだけです。表の中で一番小さい時間を探し、それが M1 の時間ならその製品を前から、M2 の時間なら後ろから並べます。並べた製品を表から消し、残りの製品で同じことを繰り返します。
このルールで最短になる理由は次のとおりです。M1 の時間が短い製品を先頭にすると、M2 が早く動き始められます。M2 の時間が短い製品を最後にすると、最後に M2 だけが動いている時間が短くなります。
答えの確認には、各機械の開始・終了時刻を書き出す方法が使えます。M2 の開始時刻は「その製品の M1 が終わった時刻」と「M2 が前の製品を終えた時刻」の遅いほうです。
③ 段取り・巡回と ④ 割当:まとめて比べる
3つとも「表の値を組み合わせて合計する」問題ですが、条件が違います。取り違えないよう比較表で押さえましょう。
| 段取り(作業の順序) | 巡回(訪問ルート) | 割当 | |
|---|---|---|---|
| 決めること | 仕事を行う順番 | 取引先を回る順番 | 誰がどの顧客を担当するか |
| 最後に出発点へ戻るか | 戻らない | 戻る | 関係ない |
| 開始点 | 自由に選べる | 固定(例:A社から出発) | 関係ない |
| 表の読み方 | FROM(行)→TO(列)。向きで値が違う | From→To。過去問では行きと帰りが同じ時間 | 担当者と顧客の組合せ |
| 調べる数 | 4つの仕事なら 4×3×2×1=24通り | 3社なら 3×2×1=6通り(行きと帰りが同じ時間なら実質3通り) | 3人なら6通り |
| 求めるもの | 最小 | 最小 | 最大 |
巡回は、宅配ドライバーが営業所を出て全部の配達先を回り、営業所に戻るルートを考えるのと同じです。段取りの問題は24通りすべてを書くと時間がかかるので、値が小さい矢印をつないでいくと早く答えが見つかります(例題を参照)。割当は、各担当者の最大値を拾うと顧客が重複しがちなので、必ず「1人1件」になっているかを確かめます。
⑤ ライセンス購入:必須の条件を先に満たす
出題は1回だけです。「各部署にマニュアル1冊」のような必須の条件を満たせる買い方を先に決め、残りの台数を1台当たりの単価が最も安い買い方で買います。まとめ買いで少し余っても、ばらで買い足すより安くなることがある点が狙われます。
試験での問われ方
- 線形計画法:選択肢に端点の利益が必ず入っています。2019年の問題では ア 5,000円=X だけを作る場合、イ 6,000円=Y だけを作る場合です。2013年の問題でも イ 20万円=A だけ、ア 16万円=B だけ、が並んでいます。交点を計算しないと、このどちらかを選んでしまいます。
- 制約が時間だけのパターン:1個当たり利益が大きい順(Z→Y)に作ると 2,625,000円(ア)、Y を先に作ると 3,150,000円(ウ)になり、どちらも選択肢に入っています。
- ジョンソン法:M1 の時間が短い順に並べた C→B→A(エ)は19時間で、正解の18時間と1時間しか違いません。B→C→A(ウ)も19時間です。ルールどおりに並べてから、時刻を書き出して確かめましょう。
- 段取り・巡回:段取りの表を FROM と TO の向きを逆に読むと、別の値(5や6)が出ます。巡回では、最後に出発点へ戻る1区間を足し忘れる間違いが典型です。
- 割当:各担当者の最大値を足すと 5+6+8=19 となり、選択肢エに入っている。ただし A も B も顧客 z を選んでいて重複しているので、条件を満たさない。
- ライセンス:残り24台を「5ライセンス4本+1ライセンス4本」で買うと 318,000円(エ)になります。マニュアルの条件を無視して5ライセンスを6本買うと 270,000円(ア)になります。
線形計画法:交点と端点を全部比べる
| 原料 | 製品 X の 1 個当たりの必要量 | 製品 Y の 1 個当たりの必要量 | 調達可能量 |
|---|---|---|---|
| A | 2 | 1 | 100 |
| B | 1 | 2 | 80 |
ア 5,000
イ 6,000
ウ 7,000
エ 8,000
解き方と答えを見る
- X を x 個、Y を y 個作るとする。原料A:2x+y≦100、原料B:x+2y≦80。利益は 100x+150y。
- 交点を求める。2つの式を「=」にし、2本目を2倍すると 2x+4y=160。ここから1本目の 2x+y=100 を引くと 3y=60、y=20。x=80−2×20=40。
- 交点の利益:100×40+150×20=4,000+3,000=7,000円。
- X だけを作る場合:原料Aでは 100÷2=50個、原料Bでは 80÷1=80個まで作れる。厳しいほうの50個が上限で、利益は 100×50=5,000円。
- Y だけを作る場合:原料Aでは 100÷1=100個、原料Bでは 80÷2=40個まで作れる。厳しいほうの40個が上限で、利益は 150×40=6,000円。
- 3つを比べると 7,000>6,000>5,000 なので、最大は交点の7,000円。
答え:ウ(7,000円)
制約が時間だけ:1分当たり利益の高い順に作る
| 製品 X | 製品 Y | 製品 Z | |
|---|---|---|---|
| 1 個当たりの利益(円) | 1,800 | 2,500 | 3,000 |
| 1 個当たりの製造所要時間(分) | 6 | 10 | 15 |
| 月間需要量上限(個) | 1,000 | 900 | 500 |
ア 2,625,000
イ 3,000,000
ウ 3,150,000
エ 3,300,000
解き方と答えを見る
- 使える時間を分に直す:200時間×60=12,000分。
- 1分当たりの利益を出す:X は 1,800÷6=300円、Y は 2,500÷10=250円、Z は 3,000÷15=200円。順位は X>Y>Z。
- X を需要上限の1,000個作る:時間は 1,000×6=6,000分、利益は 1,000×1,800=1,800,000円。残りの時間は 12,000−6,000=6,000分。
- 残り時間で Y を作る:6,000÷10=600個(需要上限の900個以内なので作れる)。利益は 600×2,500=1,500,000円。これで残り時間は0分。
- 合計:1,800,000+1,500,000=3,300,000円。
答え:エ(3,300,000円)
ジョンソン法:小さい時間から前後に並べる
| 製品\機械 | M1 | M2 |
|---|---|---|
| A | 7 | 3 |
| B | 5 | 6 |
| C | 4 | 2 |
ア A→C→B
イ B→A→C
ウ B→C→A
エ C→B→A
解き方と答えを見る
- 表の6つの時間(A:7と3、B:5と6、C:4と2)のうち最小は C の M2=2。M2 の時間なので C を一番後ろに置く → _→_→C。
- C を表から消す。残りの A(7と3)、B(5と6)のうち最小は A の M2=3。M2 の時間なので、空いている枠の後ろから詰める → _→A→C。
- 残った B を先頭に置く → B→A→C。
- 時刻で確認する。M1:B が0〜5、A が5〜12、C が12〜16。M2:B が5〜11、A は M1 が終わる12を待って12〜15、C は M1 が終わる16を待って16〜18。全体で18時間。
- 比較のため C→B→A も計算する。M1:C が0〜4、B が4〜9、A が9〜16。M2:C が4〜6、B が9〜15、A が16〜19。全体で19時間なので、B→A→C より長い。
答え:イ(B→A→C、18時間)
段取り時間:小さい矢印をつないで最小を見つける
| FROM\TO | 仕事 a | 仕事 b | 仕事 c | 仕事 d |
|---|---|---|---|---|
| 仕事 a | (斜線) | 2 | 1 | 2 |
| 仕事 b | 1 | (斜線) | 1 | 2 |
| 仕事 c | 3 | 2 | (斜線) | 2 |
| 仕事 d | 4 | 3 | 2 | (斜線) |
ア 4
イ 5
ウ 6
エ 7
出典:基本情報技術者試験 科目A免除 修了試験 20200726 実施分 問70
解き方と答えを見る
- 表は行が FROM、列が TO。値が1のマスは a→c、b→a、b→c の3つ。
- d に入る段取り(a→d、b→d、c→d)はどれも2時間。d から出る段取りも最小で2時間(d→c)。だから d をどこに置いても、d の前後で最低2時間かかる。d を最後に置けば、d に入る1回だけで済む。
- 残りの3つの仕事を、値が1の矢印だけでつなげるか試す。b→a(1)→c(1)とつながる。
- 最後に c→d(2)を足すと、b→a→c→d=1+1+2=4時間。
- 4つの仕事の段取りは3回。そのうち d に関わる1回は2時間以上、残り2回は1時間以上なので、合計は4時間より小さくならない。よって最小は4時間。
答え:ア(4時間)
巡回:出発点に戻るまでを全ルートで比べる
| From\To | A社 | B社 | C社 | D社 |
|---|---|---|---|---|
| A社 | - | 20 | 35 | 40 |
| B社 | 20 | - | 50 | 25 |
| C社 | 35 | 50 | - | 30 |
| D社 | 40 | 25 | 30 | - |
ア 95
イ 110
ウ 140
エ 150
出典:基本情報技術者試験 科目A免除 修了試験 20130623 実施分 問74
解き方と答えを見る
- A社を出発して B・C・D社を1回ずつ回り、A社に戻る。回る順番は 3×2×1=6通り。この表は行きと帰りが同じ時間なので、逆回りは同じ値になり、実質3通り。
- A→B→C→D→A:20+50+30+40=140分。
- A→B→D→C→A:20+25+30+35=110分。
- A→C→B→D→A:35+50+25+40=150分。
- 最小は110分。最後の戻り(C→A の35分)を足し忘れないこと。
答え:イ(110分)
割当:重複しない6通りを全部足す
| 顧客\営業担当者 | A | B | C |
|---|---|---|---|
| x | 2 | 5 | 7 |
| y | 4 | 3 | 8 |
| z | 5 | 6 | 6 |
ア 16
イ 17
ウ 18
エ 19
出典:基本情報技術者試験 科目A免除 修了試験 20130728 実施分 問73
解き方と答えを見る
- 表を担当者ごとに読む。A は x:2、y:4、z:5。B は x:5、y:3、z:6。C は x:7、y:8、z:6。
- A・B・C に x・y・z を1人ずつ重複なく割り当てる方法は 3×2×1=6通り。
- 6通りを計算する:(A-x, B-y, C-z)=2+3+6=11、(A-x, B-z, C-y)=2+6+8=16、(A-y, B-x, C-z)=4+5+6=15、(A-y, B-z, C-x)=4+6+7=17、(A-z, B-x, C-y)=5+5+8=18、(A-z, B-y, C-x)=5+3+7=15。
- 最大は A-z、B-x、C-y の組合せの18百万円。
答え:ウ(18百万円)
ライセンス購入:必須の条件を先に満たし、残りを最安単価で
| 購入方法 | 使用権 | マニュアル | 価格(円) |
|---|---|---|---|
| 単体で 1 本 | 1 | 1 | 15,000 |
| 1 ライセンス | 1 | 0 | 12,000 |
| 5 ライセンス | 5 | 0 | 45,000 |
ア 270,000
イ 306,000
ウ 315,000
エ 318,000
解き方と答えを見る
- 条件を整理する。必要なのは30台分の使用権と、6部署に1冊ずつのマニュアル。マニュアルが付く買い方は「単体」だけ。
- 単体を6本買う:6×15,000=90,000円。これで使用権6台分とマニュアル6冊がそろう。
- 残りは 30−6=24台分。1台当たりの単価は、1ライセンスが12,000円、5ライセンスが 45,000÷5=9,000円。
- 案1:5ライセンス4本(20台分)+1ライセンス4本(4台分)=180,000+48,000=228,000円。
- 案2:5ライセンス5本(25台分、1台分余る)=5×45,000=225,000円。案1より安い。
- 合計:90,000+225,000=315,000円。
答え:ウ(315,000円)
要点(試験直前に読む)
- 5つの型を見分ける:何個作るか=線形計画法/2台の機械の加工順=ジョンソン法/FROM→TO の表で全部を1回ずつ=段取り・巡回/1人1件の担当=割当/買い方の組合せ=ライセンス。
- 線形計画法(制約2つ)は、交点(連立方程式)と端点2つの利益を全部計算して最大を選ぶ。端点の個数は厳しいほうの制約で決まる。
- 制約が時間だけなら、1個当たりではなく「1分当たりの利益」が高い順に、需要上限まで作る。
- ジョンソン法:表の最小値が M1 ならその製品を前から、M2 なら後ろから並べ、消して繰り返す。
- 段取り・巡回・割当は総当たり。巡回は出発点に戻る区間を足す。割当は担当の重複がないか確認する。
- ライセンスは必須の条件(マニュアルなど)を先に満たし、残りを最も安い単価で買う。少し余るまとめ買いが最安になることがある。
ひっかけ
- 線形計画法の選択肢には「片方の製品だけを作った利益」(端点)が入っている。交点を計算して比べるまで、端点の値を選ばない。
- 1個当たりの利益が最大の製品から作る誤りを誘う。制約が時間だけなら、利益÷時間(1分当たりの利益)で順位をつける。
- ジョンソン法で M1 の短い順(C→B→A)に並べると19時間になり、正解の18時間と近い値が選択肢にある。ルールで並べたあと、時刻を書き出して確かめる。
- 割当で各担当者の最大値を足すと 5+6+8=19 となり、選択肢エに入っている。ただし A も B も顧客 z を選んでいて重複しているので、条件を満たさない。
- ライセンスの残り24台を5ライセンス4本と1ライセンス4本で買うと318,000円になり、5ライセンス5本(225,000円)より高い。端数をばらで買う前に、まとめ買いの総額と比べる。
用語(14)
資源の上限を一次式の不等式で表し、その範囲内で利益などを最大(または費用を最小)にする量を求める方法。
⚠ ジョンソン法と取り違えやすい。線形計画法は「何個ずつ作るか(量)」、ジョンソン法は「どの順で加工するか(順序)」を決める。
原料や時間の上限を「必要量×個数 ≦ 上限」の形で表した式。
⚠ 目的関数と取り違えやすい。≦ が付いて上限を表すのが制約条件、最大にしたい利益の式が目的関数。
最大化(または最小化)したい量を表す式。例:利益=100x+150y。
⚠ 制約条件と取り違えやすい。目的関数には不等号が付かない。
すべての制約条件を同時に満たす生産量の範囲。グラフでは多角形になり、最適解はその角(頂点)に現れる。
2つの制約式を「=」にして連立方程式を解いた点で、両方の資源をちょうど使い切る生産量。端点も実行可能領域の頂点なので、最大は交点と端点の利益を全部比べて決める。
⚠ 端点と取り違えやすい。交点は両方の製品を作る点、端点は片方の製品だけを作る点。どちらも最大になる候補。
片方の製品だけを作るときの最大個数の点で、個数の上限は厳しいほうの制約で決まる。
⚠ 交点と取り違えやすい。選択肢に端点の利益が入っていることが多いので、交点と比べずに選ばない。
限られた資源(1分の時間など)を1単位使って得られる利益。制約が1種類だけのときは、この値が高い製品から作る。
⚠ 1個当たりの利益と取り違えやすい。1個の利益が大きくても、時間がかかる製品は1分当たりでは低くなる。
2台の機械を同じ順に通す加工で、最小の時間が M1 の値ならその製品を前から、M2 の値なら後ろから並べ、全体の時間を最短にする方法。
⚠ 「加工時間が短い順」や「M1 の短い順」に並べるだけの方法とは違う。必ず M1 と M2 の両方の列から最小値を探す。
ある作業から次の作業に切り替えるための準備(工具の交換など)にかかる時間。
⚠ 加工時間と取り違えやすい。段取り時間は作業そのものではなく切り替えの時間で、どの作業からどの作業へ移るか(FROM→TO)で値が変わる。
すべての地点を1回ずつ訪れて出発点に戻る経路のうち、合計の移動時間(距離)が最小のものを探す問題。
⚠ 段取りの順序問題と取り違えやすい。巡回は出発点に戻る(最後の1区間を足す)、段取りは戻らず開始点も自由。
担当者と仕事を1対1で組み合わせ、合計の売上(または費用)が最大(または最小)になる組合せを探す問題。
⚠ 担当者ごとの最大値を拾うのとは違う。担当が重複していないか必ず確かめる。
考えられる組合せや順序をすべて書き出して計算し、最も良いものを選ぶ方法。n 個の並べ方は n×(n−1)×…×1 通り。
ソフトウェアを1台などの決められた範囲で使ってよい権利。マニュアルなどの付属物とは別に売られることがある。
⚠ 単体パッケージと取り違えやすい。単体には使用権とマニュアルの両方が付くが、ライセンスだけの購入にはマニュアルが付かない。
複数台分の使用権をまとめて購入し、1台当たりの単価を安くする買い方。
⚠ 1ライセンスずつのばら買いと比べ、少し余っても総額が安くなることがある。
このレッスンの過去問
- 線形計画法による利益最大化計算令和元年度 秋期 基本情報技術者試験 午前 問76
- 割当問題(最大売上の組合せ)基本情報技術者試験 科目A免除 修了試験 20130728 実施分 問73
- ライセンス購入方法の組合せ最小費用計算平成26年度 春期 基本情報技術者試験 午前 問76
- ジョンソン法による2工程加工順序の最短化平成27年度 春期 基本情報技術者試験 午前 問78
- 段取り時間最小の作業順序(巡回問題)基本情報技術者試験 科目A免除 修了試験 20200726 実施分 問70