計画とスケジューリングの区別

「計画=予測+意志決定」だ、と「計画作業の中心とは」で書いた。それでは、その『意志決定』の具体的な中身とは何か。



それは、簡単に言うと、計画対象となる系の目標値を定め、それを実現するような政策変数を、制約条件下で決めることである。え? ちっとも簡単でない? 言いかえると、可能な選択肢の中から、自分が望ましい結果を得られそうな組合せを決めることだ。これを計画における意志決定という。



例を挙げよう。旅行の計画を立てるとしようか。たとえば週末にふらっと札幌に遊びに行きたいと考えたとする(あなたが札幌に住んでいないとしての話だが)。移動手段は何にしようか。自動車、鉄道、飛行機・・可能な手段の中で、「札幌に行く」という目的を達成できるものを選ぶわけだ。制約条件は、たとえば所要時間とか費用とかだろう。そして、鉄道と決めたら、こんどは時刻表と相談して適当な列車を選ぶ。



宿にかんしても同様だ。気安い友人宅があればそれも良し、なければ数あるホテルや宿泊施設の中から適当なものを選ばなくてはならない。そのときも財布の中身という制約条件と相談になる。そして適度な価格帯のリストの中から考えることになる。この、可能な選択肢の幅広さを『自由度』とよぶことを覚えておいてほしい。



列車が決まり、宿が決まると、あとは何を見て回ろうか、という話になる。こうして、次第に旅行のイメージは具体的な、「旅行計画」とよぶにふさわしいものになっていく。可能な選択肢の中から、自分が望ましい結果を得られそうな組合せを決める意志決定を行なったからだ。



この旅行計画において、「移動手段を選ぶ」ことは「週末、札幌に行って遊ぶ」という目的を実現するために、必要な課題の一つである。「宿を決める」も同様だ。このように、目的達成に必要な課題をタスクと呼ぶ。つまり、計画立案という行為においては、目的達成のために必要な「タスクを洗いだす」(英語でいえばIdentify
tasks)というサブ問題を、まず最初に考える。



次に、「タスクにリソースをわりあてる」というサブ問題が来る。『札幌まで移動する』というタスクに対するリソースとして、自動車/鉄道/飛行機というリソースの中から、予算の制約の中で適当なものを選んだ。



そして、時刻表を見て列車を選び、出発時刻や到着時刻を決めることは、「タイムテーブルを作成する」に相当する。これがいわゆる狭義の『スケジューリング』問題である。



以上をまとめると、計画立案における意志決定とは、以下の三つのサブ問題を解く作業に他ならない。

(1)必要なタスクを洗いだす(Identify tasks)

(2)タスクにリソースをわりあてる(Assign resources to tasks)

(3)時間表を作成する(Create timetable)



いいかえれば、スケジューリングとは計画立案のサブ問題であることが分かる。



この3ステップは、個人の旅行計画のみならず、プロジェクト計画から生産計画、販売計画、在庫計画などにすべて共通である。



もっとも、計画問題の性質によっては、いずれかのサブ問題が不要なこともある。たとえば野球チームの監督が決める配員計画などは、ポジションという名前のタスクにひとつづつ担当者を振り分けて終わり、である。これには時間表作成のサブ問題がない。また、リソースの選択肢がなければ、リソースわりあての問題がない、などだ。スケジューリングとは、本質的には(3)のステップが不可欠な計画問題を相手にする仕事なのである。

Follow me!