國 立 臺 灣 大 學 管 理 學 院 資 訊 管 理 學 系 碩 士 論 文
Department of Information Management College of Management
National Taiwan University Master Thesis
考 慮 公 平 性 、 不 同 機 臺 產 能 與 不 同 工 作 截 止 時 間 的 工 作 分 配 問 題 A Job Allocation Problem Considering Fairness, Various Machine
Capacity, and Various Job Due Dates
張 鵬 路 Peng-Lu Zhang
指 導 教 授 : 孔 令 傑 博 士 Adviser: Ling-Chieh Kung, Ph.D.
中 華 民 國 107 年 7 月 July, 2018
致謝
當 我 剛 剛 來 到 台 大,開 始 一 個 全 新 的 領 域 的 學 習 的 時 候,心 中 充 滿 著 對 自 己 以 及 對 專 業 的 懷 疑。這 個 專 業 真 正 要 學 什 麼,我 自 己 又 是 否 能 夠 完 成 學 業。每 一 天 都 是 全 新 的 領 域,全 新 的 知 識。在 魏 老 師 的 研 究 組,
學 到 的 是 文 字 探 勘 以 及 舊 藥 新 用 方 面 的 知 識,缺 乏 程 式 經 驗 讓 我 很 難 繼 續 下 去。魏 老 師 並 沒 有 放 棄 我,反 而 推 薦 我 來 到 孔 老 師 的 研 究 組,開 始 接 觸 資 訊 經 濟、工 作 排 程、修 建 設 施 的 最 佳 地 點 選 擇 這 些 全 新 的 方 向。
在 課 堂 中,管 理 資 訊 系 統、資 訊 創 新、資 料 探 勘、雲 計 算、資 訊 經 濟、
知 識 管 理,這 些 課 程 雖 然 都 給 我 帶 來 了 很 多 的 幫 助,但 是 也 讓 我 無 所 適 從,我 一 度 懷 疑 我 究 竟 能 否 找 到 一 個 方 向 來 把 這 篇 論 文 完 成。實 在 是 感 謝 孔 老 師 能 夠 有 足 夠 的 耐 心,幫 我 安 排 課 程 的 修 行 方 案,不 厭 其 煩 的 在 我 沒 有 進 度 的 時 候 耐 心 的 和 我 進 行 一 對 一 的 交 流。哪 怕 每 次 的 進 度 很 小,
哪 怕 有 不 少 的 點 子 甚 至 是 在 和 老 師 討 論 前 走 往 會 議 室 的 路 上 靈 機 一 動 的,孔 老 師 耐 心 的 等 了 我 額 外 的 兩 年,我 也 終 於 把 這 些 一 點 點 的 小 點 子 匯 集 起 來,完 成 了 這 篇 文 章。這 篇 文 章 仍 然 留 存 著 不 少 的 缺 點,從 算 法 設 計 的 可 能 會 把 一 個 比 較 差 又 足 夠 大 的 工 作 沉 在 序 列 的 前 方,到 具 體 的 參 數 試 驗 只 用 了 少 量 的 案 例,這 些 缺 陷,如 果 我 能 早 早 的 利 用 好 時 間,
可 能 就 能 有 所 彌 補 了。到 了 這 個 時 候,卻 又 留 下 了 一 絲 念 想,如 果 這 個 方 法 能 夠 讓 孔 老 師 繼 續 研 究,讓 學 弟 學 妹 們 在 這 個 基 礎 上 又 解 決 一 些 更 為 現 實 的 問 題,例 如 加 入 工 作 的 起 始 時 間 ? 如 果 我 能 夠 更 努 力 一 些,或 者 說 像 最 後 一 學 期 那 樣 努 力 的 話,可 能 就 能 寫 入 這 篇 文 章 裡 了 吧。從 騏 瑋 學 長 的 文 章 裡 獲 得 靈 感,如 今 自 己 要 離 開 了 卻 又 留 下 一 個「 坑 」給 孔 老 師 以 及 學 弟 學 妹 們。家 裡 也 義 無 反 顧 的 支 持 一 度 沉 淪 的 我。真 的 是 靠 各 位 扶 著 才 能 完 成 這 個 演 算 法 呢。這 四 年 來,實 在 是 給 各 位,給 孔 老 師,
給 魏 老 師 , 給 父 母 , 給 同 學 , 給 舍 友 添 麻 煩 了 。
張 鵬 路 107 年 7 月 23 日
摘 要
工 作 分 配 在 各 領 域 中 一 直 是 一 個 重 要 議 題。在 製 造 業 中,其 中 一 個 目 標 是 希 望 能 最 大 化 最 小 利 潤 的 機 台。然 而,在 實 際 的 工 作 分 配 中,我 們 不 僅 僅 要 考 慮 工 作 的 利 潤,還 要 考 慮 工 作 本 身 是 否 可 以 被 完 成。工 作 的 截 止 時 間 和 機 器 的 產 能 限 制 都 是 安 排 工 作 時 必 須 考 慮 的 地 方。這 樣 的 特 性,讓 工 作 分 配 更 為 困 難,乃 至 於 我 們 需 要 一 個 專 門 的 排 序 法 來 解 決 這 個 問 題。我 們 希 望 能 設 計 演 算 法,在 考 慮 公 平 性、不 同 機 臺 產 能 與 不 同 工 作 截 止 時 間 的 工 作 分 配 問 題 , 有 效 分 配 工 作 。
在 本 研 究 中,我 們 考 慮 若 干 工 作 及 若 干 機 台,完 成 工 作 會 帶 來 利 潤,
但 也 會 為 機 台 帶 來 工 作 量,各 機 台 能 負 荷 的 最 大 工 作 量 是 一 樣 但 是 有 不 同 的 情 形 ,同 時 每 個 工 作 有 自 己 的 截 止 時 間。為 了 使 各 機 台 的 利 潤 盡 量 地 一 致,我 們 的 目 標 是 最 大 化 得 到 最 小 利 潤 的 機 台 上 的 利 潤,根 據 前 人 的 最 長 處 理 時 間 優 先 演 算 法( LPT rule),以 及 產 能 限 制 下 的 最 大 收 益 優 先 演 算 法 ( CHBF rule), 我 們 提 出 了 最 差 收 益 擠 出 法 。
我 們 採 用 數 值 試 驗 的 方 式 證 明 了 最 差 收 益 擠 出 法 的 有 效 性。通 過 和 整 數 規 劃 得 出 的 最 優 解 以 及 線 性 規 劃 得 出 的 最 優 解 的 上 界 進 行 比 較,我 們 可 以 顯 示 最 差 收 益 擠 出 法 是 一 個 優 秀 的 算 法 。 通 過 和 基 因 ( GA) 算 法 的 比 較,我 們 證 明 了 我 們 的 算 法 在 耗 時 比 基 因 算 法 少 的 情 況 下 有 著 與 之 相 當 甚 至 更 為 優 秀 的 表 現。我 們 認 為 這 個 算 法 在 未 來 還 有 一 些 問 題 可 以 應 用,本 文 所 述 的「 擠 出 」概 念 以 及 具 體 的 擠 出 方 法 可 以 為 今 後 的 研 究 者 們 提 供 一 種 解 決 問 題 的 新 思 路 。
關 鍵 字 : 工 作 分 配 , 公 平 性 , 截 止 時 間 , 近 似 算 法 , 擠 出 算 法 。
Abstract
Job scheduling is an important issue applied in many fields. In the manufacturing industry, one of the objectives is to assign jobs to machines in order to maximize the minimum profit among machines. Assigning jobs by considering their benefits is a good idea. However, we also have to consider whether the jobs can be assigned to those machines, because e ach machine cannot be assigned too man y jobs due to limited capacity.
Moreover, each job has its own due date . This characteristic introduces a new challenge to this allocation problem and calls for a specific algorithm to solve it. We propose an efficient algorithm to assign jobs by taking fairness, machine capacity, and job due dates into consideration.
In this study, our objective is to assign jobs to bring benefits to all the machines as equally as possible while ensuring that machines cannot be overloaded and all assigned jobs can be completed before their due dates . The capacity of all machines are the same. We propose the least benefit out (LBO) algorithm based on the longest processing time (LPT) rule and the capacitated highest-benefit job first (CHBF) algorithm.
We use numerical experiments to verify the efficiency of the LBO algorithm. By comparing with optimal solutions or their upper bounds obtained by integer/linear programing, we confirm that our algorithm can get a good enough result. Moreover, we choose Genetic Algorithm as a benchmark and find that LBO can use less time to get similar or better results in almost all cases in our experiment. We believe that this algorithm as well as the way to squeeze out worse works can be a new groundbreaking method that may be adopted for solving other problems.
Keywords: job scheduling, fairness, due date, heuristic algorithms, squeezing out.
目錄
第 一 章 緒 論 ... 1
第 一 節 研 究 動 機 ... 1
第 二 節 研 究 目 的 ... 2
第 三 節 研 究 架 構 ... 3
第 二 章 文 獻 探 討 ... 4
第 一 節 平 行 機 台 的 工 作 排 序 ... 4
第 二 節 公 平 問 題 和 max-min 問 題 ... 6
第 三 章 問 題 描 述 與 建 模 ... 8
第 一 節 問 題 描 述 與 建 模 ... 8
第 二 節 NP-hard 問 題 ... 11
第 四 章 算 法 介 绍 ... 12
第 一 節 最 差 收 益 挤 出 算 法 简 介 ... 12
第 二 節 最 差 收 益 挤 出 算 法 具 体 步 骤 ... 13
第 三 節 最 差 收 益 擠 出 算 法 具 体 例 子 ... 18
第 四 節 最 差 收 益 擠 出 算 法 的 時 間 複 雜 度 ... 22
第 五 節 最 差 收 益 擠 出 算 法 的 細 節 意 義 ... 23
第 五 章 數 值 試 驗 ... 27
第 一 節 試 驗 介 紹 與 試 驗 參 數 ... 27
第 二 節 數 值 試 驗 ... 28
第 三 節 參 數 估 計 ... 31
第 六 章 總 結 和 未 來 計 劃 ... 34
參 考 文 獻 ... 36
附 錄 ... 38
圖表目錄
表 格 三 .1 符 號 表 ... 11
表 格 四 .1 排 程 相 關 新 增 參 數 表 ... 15
表 格 四 .2 舉 例 試 驗 工 作 參 數 ... 18
表 格 四 .3 舉 例 試 驗 EDD 排 序 結 果 ... 18
表 格 四 .4 舉 例 試 驗 CHBF 排 序 結 果 ... 18
表 格 四 .5 舉 例 試 驗 LPT 排 序 結 果 ... 19
表 格 四 .6 舉 例 試 驗 LBO 排 序 過 程 以 及 結 果 ... 21
表 格 五 .1 數 值 試 驗 參 數 表 ... 27
表 格 五 .2 工 作 與 機 器 數 量 試 驗 結 果 表 ... 29
表 格 五 .3 數 值 試 驗 機 器 產 能 試 驗 結 果 表 ... 29
表 格 五 .4 數 值 試 驗 工 作 截 止 時 間 試 驗 結 果 表 ... 30
表 格 五 .5 數 值 試 驗 工 作 利 益 試 驗 結 果 表 ... 31
表 格 五 .6 循 環 代 數 參 數 估 計 試 驗 結 果 表 ... 31
表 格 五 .7 加 入 工 作 池 參 數 估 計 試 驗 結 果 表 ... 32
表 格 五 .8 不 同 初 始 排 程 方 法 試 驗 結 果 表 ... 32
表 格 五 .9 基 因 算 法 以 及 LBO 耗 時 估 計 ... 33
图 四 .1 演 算 法 基 本 流 程 圖 ... 15
第一章 緒論
第 一 節 研 究 動 機
作 為 一 個 經 典 的 最 佳 化 問 題,平 行 機 台 工 作 分 配 問 題 已 經 有 了 數 十 年 的 研 究 歷 史,隨 著 科 學 的 發 展,類 似 的 問 題 也 出 現 在 各 行 各 業 的 研 究 中( Pinedo,2012)。不 僅 僅 是 傳 統 的 工 業 工 程 領 域,隨 著 計 算 機 科 學 的 發 展,類 似 的 平 行 機 台 問 題 在 計 算 機 領 域 中 也 得 到 了 應 用。使 得 這 一 問 題 引 起 了 更 為 廣 泛 的 興 趣 。
然 而 在 近 些 年 的 實 踐 與 學 術 討 論 中,依 然 有 不 少 新 的 問 題 出 現。在 生 產 實 踐 中,原 始 的 平 行 機 台 問 題 更 多 的 是 專 注 於 工 作 的 盡 早 完 成,這 忽 視 了 工 作 量 與 收 益 的 取 捨 問 題,當 機 台 的 負 擔 成 為 一 個 必 要 考 慮 的 因 素 時,僅 僅 是 盡 早 完 成 所 有 工 作 的 排 序 手 段 已 經 無 法 得 出 合 適 的 解。如 果 進 一 步 考 慮 到 每 個 工 作 有 其 不 同 的 截 止 時 間,那 麼 問 題 將 進 一 步 複 雜。
於 此 同 時,如 果 將 問 題 擴 展 到 更 多 的 領 域,我 們 發 現,比 起 傳 統 排 序 法 中 我 們 將 各 種 問 題 分 開,獨 立 排 序 的 理 想 情 況,現 實 中 的 情 況 更 為 複 雜,
而 且 與 傳 統 排 序 法 有 所 衝 突。例 如 在 工 廠 分 配 的 任 務 中,工 作 的 截 止 日 期 如 果 可 以 不 同,則 相 比 較 只 允 許 足 夠 久 的 截 止 日 期 的 排 程 方 案,工 廠 將 可 以 接 受 更 為 靈 活 的 訂 單。這 將 可 以 在 競 爭 中 獲 得 優 勢。尤 其 是 在 如 今 網 路 時 代 中,更 為 靈 活 的 接 單 方 案 就 代 表 了 可 以 嘗 試 採 用 離 線 商 務 模 式 ( O2O), 接 受 更 為 多 樣 化 和 具 體 的 方 案 。 同 時 合 理 的 排 序 方 法 也 可 以 排 除 那 些 不 合 適 的 工 作,起 到 有 效 的 篩 選 作 用。此 時,我 們 就 有 必 要 在 傳 統 的 只 考 慮 完 成 工 作 數 或 者 最 多 延 遲 時 間 的 排 序 法 之 上,結 合 實 際 工 作 收 到 的 利 益 , 得 出 一 個 可 以 解 決 這 種 更 為 複 雜 的 訂 單 的 排 序 法 。
在 此 之 上,我 們 也 希 望 能 夠 將 目 標 定 位 在 公 平 排 序 而 不 僅 僅 是 利 益 優 先。一 方 面 是 因 為 在 過 往 的 研 究 中( Liu,2016),我 們 發 現 時 間 上 的
公 平 排 序 方 案 和 最 短 時 間 排 序 方 案 是 接 近 的 方 案。我 們 不 需 要 過 度 擔 心 公 平 排 序 的 結 果 造 成 糟 糕 的 利 益 表 現。更 重 要 的 是,相 比 較 利 益 優 先 方 案,公 平 排 序 擁 有 更 為 優 秀 的 實 踐 價 值。例 如 大 型 企 業 在 分 配 工 作 時,
如 果 旗 下 的 各 個 代 工 廠 拿 到 的 工 作 收 益 不 同,收 益 更 高 的 代 工 廠 商 將 會 拒 絕 給 收 益 較 低 的 代 工 廠 分 享 利 潤。這 樣 一 方 面 可 能 會 傷 害 低 收 益 廠 商 本 身 的 運 營,同 時 也 會 影 響 他 們 與 企 業 的 合 作。因 此 我 們 希 望 能 夠 得 到 一 個 以 公 平 為 目 的,可 以 滿 足 工 作 本 身 一 定 程 度 上 多 樣 化 限 制 這 樣 一 個 順 應 時 代 的 排 序 方 法 。
第 二 節 研 究 目 的
在 這 個 研 究 中,我 們 將 會 考 慮 上 文 所 述 的 工 作 排 程 問 題。為 了 表 述 方 便,我 們 將 會 以 工 作 與 機 器 這 一 情 境 來 展 示 這 類 問 題。其 中,我 們 的 研 究 最 重 要 的 創 新 在 於 試 圖 在 傳 統 的 平 行 機 台 問 題 上,用 一 個 統 一 的 排 序 法 同 時 解 決 多 種 限 制 條 件 下 的 公 平 分 配 問 題。當 然,這 些 工 作 之 間 都 是 相 互 獨 立 且 不 可 分 割 的 。
首 先 我 們 將 會 討 論 在 平 行 機 台 中,每 台 機 器 有 不 同 總 工 作 量 限 制 的 情 況,並 且 希 望 我 們 的 排 序 法 能 在 工 作 量 和 收 益 沒 有 特 定 關 聯 的 情 況 下 依 然 獲 得 較 好 的 表 現。第 二 步 則 是 研 究 的 重 點,我 們 希 望 允 許 每 個 工 作 有 其 自 身 的 最 晚 完 成 時 間。最 後 我 們 將 探 討 算 法 進 一 步 拓 展 的 可 能 性,
例 如 另 一 種 公 平 的 定 義,認 為 收 益 應 該 和 工 作 量 限 制 呈 一 定 比 例,亦 或 者 每 台 機 器 有 著 不 同 的 效 率。在 前 兩 個 階 段,我 們 的 目 標 式 是 最 大 化 總 利 益 最 小 的 機 台 。 在 第 三 階 段 , 將 會 根 據 具 體 情 況 進 行 調 整 。
根 據 Liu( 2016), 我 們 研 究 的 問 題 是 NP-hard 的 問 題 。 因 此 , 我 們 將 構 建 一 個 時 間 複 雜 度 在 多 項 式 時 間 內 的 啟 發 性 演 算 法 ( heuristic algorithm)。我 們 將 基 於 兩 大 經 典 排 序 法 Longest Processing Time( LPT)
和 Earliest Due Date( EDD),通 過 試 圖 尋 找 兩 者 結 合 的 方 法,實 現 一 個 可 以 滿 足 存 在 不 同 最 晚 完 成 時 間 工 作 的 情 況 下,實 現 公 平 分 配 的 方 案。
其 中 , LPT 方 法 已 經 在 公 平 分 配 問 題 上 得 到 許 多 成 熟 的 運 用 ( Csirik et al., 1992; Deuermeyer et al., 1982; Graham, 1966; Graham, 1969;
Liu, 2007), 而 EDD 則 是 一 個 針 對 不 同 最 晚 完 成 時 間 的 工 作 的 經 典 排 序 方 法 。
第 三 節 研 究 架 構
在 下 一 章 中,我 們 將 對 現 有 的 研 究 結 果 進 行 一 個 綜 述。在 第 三 章 中,
我 們 將 用 數 學 模 型 定 義 我 們 的 問 題。第 四 章 我 們 將 詳 細 介 紹 我 們 的 算 法。
第 五 章 中 , 我 們 將 用 數 學 模 擬 的 方 式 來 驗 證 我 們 的 算 法 的 表 現 。
第二章 文獻探討
第 一 節 平 行 機 台 的 工 作 排 序
平 行 機 台 的 工 作 排 序 是 工 作 排 序 問 題 中 一 個 重 要 的 部 分。( Pinedo,
2012)的 著 作 中 將 工 作 排 序 問 題 分 為 兩 個 基 本 大 類,一 是 已 知 所 有 的 工 作 和 機 器 情 況,一 是 工 作 的 情 況 暫 時 未 知。對 於 我 們 希 望 討 論 的 工 作 和 機 器 情 況 確 定 的 問 題,主 要 研 究 的 是 兩 大 問 題,一 是 總 完 成 時 間 問 題,
另 一 是 工 作 有 期 限 情 況 下 的 問 題。這 兩 個 問 題 各 自 有 過 相 對 廣 泛 的 討 論。
總 完 成 時 間 問 題 最 早 由 Graham( 1966、 1969) 的 兩 篇 文 章 證 明 了 LPT 算 法 的 邊 界 , 使 得 LPT 算 法 , 即 最 長 的 工 作 先 排 成 為 了 這 類 問 題 的 主 流 解 法 。 方 法 是 通 過 構 建 一 個 特 殊 的 情 形 , 並 且 證 明 LPT 排 序 法 排 出 的 結 果 不 會 比 這 種 情 況 差。從 這 兩 篇 文 章 起,LPT 方 法 一 直 是 該 問 題 的 核 心 解 決 方 案 。 在 1976 年 , Coffman( 1976) 針 對 幾 種 LPT 已 經 其 衍 生 算 法 進 行 了 總 結,並 且 比 較 了 幾 種 方 法 的 優 劣。這 盤 文 章 雖 然 沒 有 撼 動 LPT 算 法 的 地 位 , 但 是 也 拓 展 了 這 類 算 法 的 可 能 以 及 可 能 面 臨 的 問 題 。 例 如 SPT 算 法 雖 然 看 似 和 LPT 相 反 的 算 法 , 實 際 上 當 進 入 排 序 時 , SPT 算 法 和 LPT 并 不 是 完 全 相 反 的 關 係 , 在 每 台 機 器 上 都 有 工 作 后,SPT 的 排 序 會 讓 工 作 排 在 最 短 的 那 台 機 器 上,如 果 我 們 把 每 台 機 器 上 都 被 排 過 一 次 視 為 一 輪,LPT 算 法 會 讓 下 一 輪 中 最 短 的 工 作 排 在 上 一 輪 后 最 長 的 機 器 那 裡 , 而 SPT 則 讓 其 排 在 最 短 的 那 台 機 器 上 。 因 此 為 了 解 決 這 一 問 題 , 對 SPT 算 法 進 行 一 個 改 進 是 必 須 的 , 即 排 序 前 搖 讓 工 作 先 分 好 組,然 後 進 行 排 序。先 分 組 的 再 進 行 排 序 也 成 為 了 研 究 新 排 序 法 的 一 種 常 用 方 法。Coffman 並 沒 有 針 對 SPT 排 序 法 設 計 一 個 明 確 的 排 序,而 是 把 滿 足 先 分 類,再 按 照 分 類 的 長 短 從 短 往 常 排 的 所 有 結 果 都 視 為 SPT 排 序 法 的 結 果 的 一 種。除 了 數 學 證 明, Walter( 2013)亦 對
LPT 進 行 了 數 值 上 的 研 究 。
Deuermeyer et al.( 1982) 證 明 了 LPT 算 法 不 僅 在 傳 統 的 最 快 完 成 問 題 上 非 常 有 效,在 為 了 公 平 的 max-min 問 題 上,亦 非 常 有 效。在 Csirik
( 1992) 的 文 章 中 , 這 個 最 差 表 現 被 證 明 為 趨 於 4/3。 於 此 同 時 , 一 些 其 他 的 算 法 也 試 圖 從 別 的 地 方 解 決 這 類 問 題,Tsai( 1992)提 出 了 RLD 算 法 以 及 其 的 進 化 版 DIF 算 法。其 思 想 在 於,對 於 公 平 類 問 題 來 說,我 們 只 需 要 考 慮 各 個 機 器 上 目 標 式 的 差 值,而 不 需 要 考 慮 工 作 是 怎 麼 樣 的,
因 此 在 排 序 前 先 依 照 機 器 數 量 分 組 關 注 每 個 分 組 之 內 的 差 值,并 依 照 這 個 差 值 排 序。而 DIF 算 法 中,我 們 甚 至 不 需 要 考 慮 已 經 排 好 的 結 果 是 什 麼 樣 的 。 這 類 算 法 在 部 分 分 佈 的 排 序 結 果 上 比 起 LPT 算 法 更 有 潛 力 , 但 是 由 於 算 法 採 取 了 排 序 前 先 分 組 的 方 案,導 致 了 默 認 情 況 下 最 終 解 中 各 台 機 器 上 工 作 數 量 相 同。反 而 限 制 了 算 法 的 表 現。He( 2003)則 將 排 序 前 先 分 組 的 思 路 進 一 步 推 廣,他 們 直 接 依 照 工 作 長 度 進 行 分 組,先 限 制 每 組 之 內 的 差 值 再 進 行 排 序。因 為 兩 組 之 間 排 序 后 的 結 果 必 然 小 於 兩 組 中 差 距 較 大 的 那 一 組,排 序 后 的 結 果 也 不 會 比 開 始 設 計 的 分 組 值 差。
然 而 這 類 算 法 在 進 一 步 推 進 更 為 精 確 的 最 差 情 況 的 同 時,也 限 制 了 排 序 法 的 應 用 可 能 。 和 LPT 運 用 于 多 種 情 境 下 不 同 , 這 類 算 法 後 繼 寥 寥 。 但 是 這 些 工 作 也 展 示 了 分 組 排 序 法 潛 在 的 價 值 。 Liu ( 2016 ) 提 出 了 CHBF( 機 器 工 時 限 制 下 的 最 高 利 益 優 先 )排 序 法 作 為 LPT 排 序 法 的 一 個 變 種 , 證 明 了 LPT 類 算 法 在 考 慮 到 利 益 的 情 況 下 依 然 有 著 可 以 利 用 的 地 方 。 在 不 考 慮 機 器 限 制 ( Capacity) 的 情 況 下 , CHBF 算 法 簡 化 后 的 HBF 算 法 將 是 我 們 的 基 礎 算 法 。
於 此 同 時 , 對 於 JSD 問 題 , 即 擁 有 最 後 截 止 日 期 的 工 作 的 排 序 問 題。Lawler( 1969)曾 有 過 討 論,建 議 的 方 法 是 把 這 個 條 件 簡 化 為 一 部 分 工 作 都 有 個 共 同 的 截 止 日 期。但 是 文 中 也 提 到 這 種 設 計 下 會 造 成 巨 大
的 計 算 負 擔。由 於 在 這 之 後 的 研 究 基 本 都 專 注 于 解 決 超 過 時 間 的 時 間 總 數 的 減 少 之 類 的 題 目,而 不 是 超 過 時 間 的 工 作 數 量 的 減 少,在 這 裡 就 不 作 贅 述。這 類 研 究 趨 於 停 滯 可 能 是 因 為 嘗 試 把 工 作 可 以 安 排 的 時 間 單 單 作 為 一 個 限 制 條 件 而 不 是 作 為 要 改 善 的 總 目 標 在 排 序 法 上 有 不 易 解 決 的 內 容 。 這 也 說 明 了 在 這 個 問 題 上 需 要 一 些 創 新 。
第 二 節 公 平 問 題 和 max-min 問 題
對 於 公 平 的 界 定,Bertsimas( 2011)曾 著 文 專 門 討 比 較 過 比 例 公 平
( PF) 和 max-min 公 平 的 特 點 。 在 這 裡 , 我 們 希 望 使 用 max-min 公 平 來 代 表 本 研 究 中 的 「 公 平 」。 因 為 比 例 公 平 使 用 在 資 源 分 配 問 題 上 時 , 其 目 的 是 最 大 化 每 個 獲 得 者 的 收 益 的 對 數 和。這 在 分 配 一 個 可 以 分 割 的 資 源 時 是 合 適 的,但 是 在 分 配 不 可 分 割 的 工 作 時 這 會 導 致 我 們 求 最 優 解 的 過 程 過 於 複 雜。而 根 據 之 前 我 們 對 於 平 行 機 台 問 題 的 討 論,我 們 可 以 看 到 我 們 所 求 的 最 差 情 況 相 比 比 例 公 平 求 解 要 寬 鬆 很 多。我 們 認 為 每 個 工 廠 的 需 求 是 相 同 的,一 方 面 在 問 題 設 計 上 工 廠 產 能 的 差 別 會 符 合 其 作 為 一 個 限 制 條 件 的 特 點,我 們 希 望 產 能 的 差 別 這 一 條 件 是 獨 立 的;另 一 方 面 從 現 實 中 考 慮,時 間 問 題 帶 來 的 需 求 不 同 是 微 小 的,不 同 廠 商 除 非 發 生 變 故,不 太 會 出 現 開 工 時 間 巨 大 的 差 異,而 生 產 力 的 需 求 差 別 則 是 一 個 更 為 複 雜 的 問 題,這 對 於 當 前 問 題 是 一 個 進 階 的 問 題。在 這 種 情 況 下,相 比 算 法 帶 來 的 總 體 情 況 的 提 升,例 如 從 EDD 算 法 或 者 LPT 算 法 排 序 后 刪 除 不 滿 足 的 工 作 這 樣 的 算 法 到 我 們 設 計 的 算 法,這 之 間 的 差 距 可 能 要 遠 大 于 採 用 max-min 和 比 例 公 平 的 差 別 。 因 此 採 用 max-min 也 是 公 平 排 序 中 較 為 主 流 的 目 標 式 。
Deuermeyer( 1982) 首 次 詳 述 了 排 序 算 法 中 的 max-min 問 題 , 他 成 功 的 證 明 了 max-min 問 題 也 是 一 個 NP-hard 問 題 , 同 時 採 用 LPT 排
序 法 時 也 擁 有 同 樣 的 最 差 邊 界 4/3。這 也 給 予 了 我 們 以 LPT 算 法 為 起 點 進 行 研 究 的 信 心 。
第三章 問題描述與建模
第 一 節 問 題 描 述 與 建 模
在 這 篇 文 章 中 , 我 們 考 慮 這 樣 一 個 問 題 。 我 們 要 分 配 𝑛個 工 作 去 𝑚 台 機 器 上。其 中 工 作 所 屬 的 集 合 為 𝐽即 𝑛 ∈ 𝐽。 每 個 工 作 𝐽有 其 利 益 𝑏𝑗, 需 要 的 時 間 𝑐𝑗, 以 及 工 作 的 截 止 時 間 𝐷𝑗。 機 器 的 集 合 為 𝐼即 𝑖 ∈ 𝐼.而 每 台 機 器 𝑖有 其 最 大 容 量 𝐾𝑖。 我 們 將 試 圖 最 大 化 利 益 最 小 的 機 台 。 因 此 , 我 們 需 要 一 個 參 數 來 表 示 工 作 分 配 給 哪 台 機 器 𝑥𝑖𝑗:
𝑥𝑖𝑗 = { 1 0
如 果 工 作 𝑗被 分 配 到 了 機 器 𝑖上
其 他 情 況 𝑖 ∈ 𝐼, 𝑗 ∈ 𝐽
直 觀 上 來 看,我 們 不 但 要 決 定 如 何 把 工 作 指 派 給 機 器,還 要 決 定 在 一 台 機 器 上 工 作 的 先 後 順 序 。 但 是 , 我 們 注 意 到 EDD 演 算 法 在 一 台 機 器 的 情 況 下,是 求 最 小 化 超 過 工 作 截 止 時 間 的 工 作 數 量 的 優 化 問 題 的 最 佳 解 (Pinedo,2012)。 由 於 我 們 的 問 題 的 解 中 , 不 允 許 有 超 過 工 作 截 止 時 間 的 工 作 的 存 在。 即 超 過 工 作 截 止 時 間 的 工 作 數 量 為 0。 那 麼 如 果 我 們 對 我 們 的 一 個 可 行 的 解 進 行 處 理,將 其 在 每 台 機 器 上 的 排 序 次 序 都 採 用 EDD 演 算 法 排 序 , 那 麼 這 樣 處 理 下 來 的 結 果 , 依 然 滿 足 超 過 工 作 截 止 時 間 的 工 作 數 量 為 0,即 這 依 然 是 一 個 符 合 我 們 要 求 的 解。 同 時,
由 於 工 作 的 先 後 順 序 並 不 影 響 我 們 這 個 議 題 下 收 益 的 計 算,所 以 如 果 我 們 已 經 決 定 好 了 這 個 工 作 該 分 配 給 哪 台 機 器,那 麼 將 其 工 作 順 序 調 整 為 EDD 排 序 也 不 會 影 響 我 們 的 結 果。 因 此,所 有 的 適 用 解 都 有 其 對 應 的 EDD 形 式,我 們 只 需 要 針 對 性 的 研 究 其 EDD 形 式 的 解 即 可 知 道 這 個 解 的 好 壞。 總 而 言 之,我 們 只 需 要 考 量 在 每 台 機 器 上 各 自 實 行 EDD 排 序 後 的 工 作 分 配 結 果 , 就 可 以 找 到 最 佳 的 工 作 分 配 方 式 。 於 是 , 我 們 便 不 需 要 額 外 考 慮 工 作 在 機 器 上 的 先 後 順 序,只 用 考 慮 工 作 分 配 本 身 即 可。
在 不 失 一 般 性 的 前 提 下,我 們 假 設 給 定 的 工 作 已 經 按 照 截 止 時 間 排 序 了 , 亦 即
𝐷1 ≤ 𝐷2 ≤ ⋯ 𝐷𝑛。
我 們 定 義 決 策 變 數 𝑤𝑖𝑗 為 當 前 工 作𝑥𝑖𝑗的 開 始 時 間 。 利 用 這 個 中 間 變 量,我 們 就 確 定 了 一 個 工 作 在 當 前 排 程 結 果 下 所 排 的 位 置。𝑥𝑖𝑗決 定 了 工 作 被 分 配 給 的 機 器 , 而 𝑤𝑖𝑗決 定 了 工 作 在 機 器 上 被 排 的 位 置 。
𝑤𝑖𝑗 = 𝑅, 工 作 𝑗在 機 器 𝑖上 的 起 始 時 間 𝑖 ∈ 𝐼, 𝑗 ∈ 𝐽
在 𝑥𝑖𝑗 = 0時,即 工 作 沒 有 被 排 入 機 器 𝑖,𝑤𝑖𝑗理 論 上 應 該 不 存 在,我 們 會 在 後 文 中 解 釋 這 個 問 題 。
根 據 𝑥𝑖𝑗 和 𝑤𝑖𝑗,我 們 的 最 佳 化 問 題 可 以 被 寫 成 下 面 的 整 數 規 劃 模 型 :
max min
𝑖∈𝐼 {∑ 𝑏𝑗𝑥𝑖𝑗
𝑗∈𝐽
}
s. t. ∑ 𝑥𝑖𝑗 ≤ 1
𝑖∈𝐼
∀𝑗 ∈ 𝐽
∑ 𝑥𝑖𝑗𝑐𝑗 ≤ 𝐾𝑖
𝑗∈𝐽
∀𝑖 ∈ 𝐼 𝑤𝑖𝑗 ≥ 0 𝑖 ∈ 𝐼, 𝑗 ∈ 𝐽
𝑤𝑖𝑗 ≥ 𝑤𝑖,𝑗−1+ 𝑐𝑗∙ 𝑥𝑖,𝑗−1 ∀𝑖 ∈ 𝐼, 𝑗 ∈ 𝐽, 𝑗 > 1 𝑤𝑖𝑗 ≤ 𝐷𝑗− 𝑐𝑗∙ 𝑥𝑖𝑗 ∀𝑖 ∈ 𝐼, 𝑗 ∈ 𝐽
於 是 , k 從 式 子 中 被 排 除 出 來 。 注 意 到 此 時 第 五 條 限 制 式 使 得 所 有 的 𝑤𝑖𝑗都 受 到 了 𝐷𝑗的 限 制,這 看 上 去 是 出 現 了 額 外 的 限 制 式 使 得 不 落 在 機 器 𝑖上 的 工 作 也 受 到 了 與 機 器 𝑖相 關 的 限 制 。 但 是 我 們 可 以 證 明 這 個 限 制 式 不 會 影 響 結 果 :
已 知 , 假 如 工 作 1 在 機 器 𝑖上 , 由 於 機 器 上 只 有 這 一 個 工 作 , 而 工 作 本 身 的 𝑐𝑗 ≤ 𝐷𝑗, 第 五 條 限 制 式 是 肯 定 成 立 的 。
同 時 ,如 果 工 作 𝑗0滿 足 第 五 條 限 制 式 ,對 於 任 何 工 作 𝑗 > 𝑗0,我 們 已
知 工 作 在 EDD 排 序 下 , 有 𝐷𝑗 ≥ 𝐷𝑗0,所 以 如 果 工 作 𝑗和 工 作 𝑗0不 在 同 一 個 機 器 上 ,則 工 作 𝑗也 是 滿 足 限 制 式 的 。因 此 如 果 要 使 得 工 作 𝑗不 滿 足 限 制 式 , 就 必 須 找 到 一 個 相 對 的 𝑗0違 反 限 制 式 。 而 𝑗0違 反 限 制 式 則 意 味 著 這 不 是 可 行 解。因 此 得 證 任 何 不 是 排 在 機 器 第 一 個 的 工 作,都 不 會 受 到 額 外 的 影 響 。 因 此 ,「 多 餘 」的 𝑤𝑖𝑗並 不 會 在 限 制 式 中 對 工 作 沒 有 被 排 入 的 機 台 產 生 額 外 的 影 響 。
雖 然 利 用 EDD 排 序 的 特 性 在 實 際 的 算 法 中 並 沒 有 直 接 的 體 現 , 但 是 得 證 EDD 的 最 優 性 在 我 們 的 排 序 法 中 給 予 了 我 們 一 個 優 化 的 目 標 。 即 如 果 我 們 讓 我 們 的 算 法 無 限 次 運 行 下 去 之 後,我 們 的 算 法 應 該 讓 每 個 機 器 上 被 分 配 的 工 作 趨 近 EDD 排 序 。 此 外 , 在 計 算 整 數 規 劃 的 最 佳 解 以 及 利 用 線 性 規 劃 來 取 得 結 果 的 下 界 時 , 利 用 EDD 排 序 也 可 以 帶 來 極 大 的 方 便 。
最 後 我 們 可 以 得 到 以 下 参 数 表 :
參 數
𝐼 機 器 的 集 合
𝐽 工 作 的 集 合
𝑛 工 作 的 數 量
𝑚 機 器 的 數 量
𝐿𝑗 當 前 機 器 上 比 當 前 工 作 早 完 成 的 工 作 以 及 該 工 作 本 身 的 集 合
𝐾𝑖 機 器 的 工 作 時 間 限 制 (𝐾𝑖 > 0)
𝑐𝑗 工 作 的 時 間 長 度 (𝑐𝑗> 0)
𝑏𝑗 工 作 的 利 益 (𝑏 > 0)
𝐷𝑗 工 作 的 最 晚 完 成 時 間 (𝐷𝑗 > 0)
*決 策 變 量 見 下 頁
決 策 變 量
𝑥𝑖𝑗= { 1 0
如 果 工 作 𝑗被 分 配 到 了 機 器 𝑖上
其 他 情 況 𝑖 ∈ 𝐼, 𝑗 ∈ 𝐽 𝑤𝑖𝑗= 𝑅, 工 作 𝑗在 機 器 𝑖上 的 起 始 時 間 𝑖 ∈ 𝐼, 𝑗 ∈ 𝐽
表 格 三 .1 符 號 表
第 二 節 NP-hard 問 題
根 據 Liu (2016) 的 研 究 , 在 不 考 慮 工 作 含 有 最 晚 完 成 時 間 時 , 此 問 題 已 經 是 NP-hard 問 題 ,而 加 入 工 作 含 有 的 最 晚 完 成 時 間 後 ,其 不 含 最 晚 完 成 時 間 就 是 這 個 問 題 視 為 無 窮 大 最 晚 完 成 時 間 的 簡 化 ,所 以 也 是 NP-hard 問 題 。此 外 ,對 於 這 個 問 題 而 言 ,其 特 殊 性 在 於 當 選 擇 了 一 個 工 作 分 配 的 結 果 時 , 例 如 機 器 1 獲 得 編 號 為 1 3 4 5 的 工 作 但 是 這 個 解 無 法 滿 足 不 超 過 工 作 截 止 時 間 或 者 機 器 容 量 的 要 求 ,需 要 選 擇「 最 合 適 」 的 工 作 時 ,這 個 問 題 本 身 就 是 一 個 NP-hard 問 題 partition 的 變 種 ,因 此 在 設 計 演 算 法 時 ,我 們 無 法 加 入 分 配 集 合 𝑋的 工 作 到 機 器 𝑌, 選 擇 集 合 𝑋中 最 合 適 的 子 集 𝑥這 樣 的 步 驟 , 而 需 要 一 個 具 體 的 尋 找 子 集 的 手 段 。
第四章 算法介绍
第 一 節 最 差 收 益 挤 出 算 法 简 介
我 們 希 望 能 夠 獲 得 一 個 多 項 式 時 間 內 的 排 序 方 法,使 得 這 個 排 序 法 的 結 果 可 以 較 好 的 解 決 考 慮 公 平 性、不 同 機 臺 產 能 與 不 同 工 作 截 止 時 間 的 工 作 分 配 問 題。使 其 成 為 一 個 可 以 在 生 產 實 踐 中 直 接 廣 泛 使 用 的 啟 發 性 演 算 法。這 個 演 算 法 在 工 作 截 止 時 間 限 制 比 較 弱 時,能 夠 接 近 傳 統 的 平 均 分 配 演 算 法 , 而 在 工 作 截 止 時 間 限 制 較 強 時 , 能 夠 接 近 EDD 演 算 法。 但 是,傳 統 的 工 作 平 均 分 配 演 算 法 和 EDD 演 算 法 差 異 巨 大,直 接 使 用 貪 婪 演 算 法 來 量 化 每 個 工 作 的「 適 合 度 」並 不 容 易,因 此 這 裡 我 們 反 其 道 而 行 之 , 提 出 了 最 差 收 益 擠 出 (Least Benefit Out)演 算 法 。
在 傳 統 的 排 序 法 中,我 們 不 會 將 已 經 決 定 好 排 序 的 工 作 再 從 排 好 的 佇 列 中 拿 出。 但 是 在 這 個 問 題 中,我 們 發 現,由 於 EDD 演 算 法 是 一 個 完 全 按 照 工 作 截 止 時 間 的 排 序 演 算 法 , 而 傳 統 公 平 分 配 排 序 法 LPT 或 者 RLD 都 是 根 據 工 作 本 身 的 時 長 來 進 行 排 序 的。 這 兩 者 是 完 全 不 同 的 維 度 。 對 於 有 機 器 最 大 工 作 量 限 制 的 公 平 利 益 問 題 ,Liu(2016)在 研 究 中 發 現 CHBF 即 工 作 量 限 制 下 的 利 益 優 先 排 序 法 表 現 優 秀 。 該 演 算 法 則 是 將 LPT 中 的 工 作 時 長 替 換 為 利 益,這 依 然 不 能 改 變 其 和 EDD 演 算 法 的 主 要 參 考 參 數 完 全 不 同 維 度 的 事 實。 但 是 無 論 LPT 排 序 法 或 者 是 RLD 排 序 法 亦 或 者 是 CHBF 排 序 法 , 這 三 者 的 共 同 特 點 就 是 將 對 結 果 影 響 最 少 的 元 素 放 到 最 後 去 排 序 。 即 最 短 的 工 作 最 後 排 , 工 作 時 間 差 最 短 的 組 合 最 後 排 , 利 益 最 小 的 工 作 最 後 排 。 受 此 啟 發 , 只 要 我 們 將 這 些 最「 差 」的 工 作 放 在 演 算 法 考 慮 中 的 最 低 優 先 順 序,那 麼 就 可 能 得 到 一 個 表 現 還 不 錯 的 演 算 法 。 對 於 我 們 這 個 有 著 機 器 最 大 工 作 量 已 經 工 作 完 成 時 間 這 兩 項 限 制 的 問 題 而 言,直 接 尋 找 最 合 適 的 工 作 不 容 易,
但 是 如 果 是 在 排 序 的 過 程 中,尋 找 最 差 的 工 作 卻 相 對 容 易,違 反 上 面 兩 條 限 制 式 的 工 作 組 合 , 毫 無 疑 問 就 有 潛 在 的 差 工 作 , 而 在 這 些 工 作 中 收 益 較 小 的 工 作 則 可 以 認 為 更 有 可 能 是 一 個 合 適 的 擠 出 物 件,先 進 行 傳 統 排 序 , 再 根 據 限 制 式 把 較 差 的 工 作 擠 出 , 便 是 最 差 工 作 擠 出 演 算 法 (LBO)解 決 此 類 問 題 的 基 本 思 路 。
具 體 到 演 算 法 上,我 們 採 用 了 一 些 取 巧 的 方 法 來 尋 找 出 合 適 的 擠 出 物 件。 但 是 從 實 驗 結 果 看 來,這 一 演 算 法 對 於 這 類 問 題 是 普 遍 有 效 的。
第 二 節 最 差 收 益 挤 出 算 法 具 体 步 骤
最 差 收 益 擠 出 算 法 總 體 來 說 分 為 三 個 部 分 ,其 一 是 分 配 部 分 ,其 二 是 擠 出 部 分 ,其 三 是 循 環 部 分。一 般 來 說,傳 統 演 算 法 只 會 有 分 配 部 分,
不 會 出 現 工 作 擠 出 的 情 況,故 具 有 其 他 兩 個 部 分 這 也 是 最 差 收 益 擠 出 法 與 傳 統 排 序 法 本 質 的 不 同。雖 然 在 一 些 啟 發 式 算 法 中 可 以 出 現 目 標 式 暫 時 下 降 的 改 變,例 如 基 因 演 算 法 里 允 許 突 變 或 者 交 叉 出 一 個 比 目 前 最 佳 解 稍 差 的 結 果,但 是 這 些 算 法 的「 擠 出 」部 分 是 隨 機 的 而 沒 有 目 的 性 的,
雖 然 結 果 較 不 錯,但 是 隨 著 工 作 數 量 增 加,表 現 下 滑 比 較 嚴 重。相 比 之 下 , 以 擠 出 為 重 要 步 驟 的 LBO 算 法 在 工 作 數 量 較 多 時 依 然 可 以 保 持 較 好 的 結 果 以 及 效 率 。
分 配 部 分 是 決 定 工 作 分 配 給 哪 台 機 器 的 部 分,即 按 照 一 定 的 規 律,
把 工 作 分 配 給 各 個 機 器 。 對 於 公 平 分 配 問 題 來 說 , 常 用 的 有 LPT, SPT 等 方 法 , Coffman( 1976) 曾 經 對 此 進 行 了 比 較 。 但 是 對 於 我 們 這 個 問 題 來 說,由 於 允 許 工 作 在 排 入 后 再 被 從 已 經 排 好 的 工 作 序 列 中 擠 出,所 以 這 一 部 分 並 不 是 本 算 法 的 優 化 重 點 。
擠 出 部 分 是 根 據 限 制 式 來 把 工 作 擠 出 的 部 分 。 工 作 以 一 定 順 序 排 入 機 器 後,如 果 遇 到 不 符 合 限 制 式 的 情 況,將 不 得 不 把 這 些 不 符 合 限 制
式 的 工 作 擠 出。工 作 擠 出 這 一 問 題 本 身 也 是 partition 問 題 的 變 種,當 工 作 的 收 益 等 於 工 作 時 長 且 最 晚 完 成 時 間 為 總 工 作 時 長 合 的 一 半 時,在 一 台 機 器 上 的 選 擇 被 擠 出 的 工 作 的 問 題 就 是 一 個 典 型 的 partition 問 題 。 擠 出 部 分 實 質 上 就 是 一 個 利 用 擠 出 規 則 來 選 出 應 該 留 在 這 台 機 器 上 的 工 作 的 過 程。擠 出 后 的 工 作 會 在 循 環 部 分 進 一 步 判 斷 是 否 要 繼 續 參 與 排 程 , 暫 時 不 參 與 排 程 的 部 分 會 暫 時 被 歸 入 棄 用 池 𝑂, 工 作 並 不 會 被 永 久 棄 用 直 到 循 環 到 最 後 一 輪 。
循 環 部 分 是 決 定 被 擠 出 的 工 作 是 否 繼 續 參 與 排 序 的 部 分。如 果 我 們 直 接 把 不 符 合 限 制 式 的 工 作 拋 棄,因 為 限 制 式 的 複 雜 性,必 然 會 有 大 量 可 以 排 進 去 的 工 作 沒 有 成 功 的 排 入。適 當 的 循 環 可 以 保 證 算 法 在 快 速 完 成 的 同 時 將 工 作 盡 可 能 的 排 入。循 環 部 分 中,我 們 將 工 作 曾 經 被 排 入 的 次 數 統 計 起 來,作 為 工 作 是 否「 好 排 」的 標 準。如 果 一 個 工 作 曾 經 在 循 環 部 分 被 排 入 排 出 了 3 次 , 我 們 便 用 𝑔 = 3來 表 示 其 排 入 的 次 數 。 調 整 合 適 的 𝑔值 上 限 可 以 影 響 算 法 的 表 現 , 但 是 根 據 實 驗 , 目 前 看 來 選 擇 𝑔𝑚𝑎𝑥=2 即 可 以 做 到 很 好 的 表 現 。 同 時 , 循 環 次 數 較 小 的 工 作 會 被 優 先 進 行 排 序 嘗 試。在 實 作 中,利 用 循 環 次 數 取 負 即 −𝑔 < 0來 標 示 被 暫 時 歸 入 棄 用 池 的 工 作 𝑂。
工 作 池 𝑃是 目 前 還 需 要 排 的 工 作 的 集 合 。 工 作 池 的 工 作 的 來 源 有 以 下 兩 種 : 在 工 作 池 分 配 部 分 從 總 工 作 集 合 𝐽中 放 入 的 工 作 ; 在 擠 出 部 分 從 機 器 上 返 還 的 工 作。而 工 作 池 中 的 工 作 也 有 兩 個 方 法 流 出 :在 分 配 部 分 排 入 機 器 中 的 工 作 ;在 循 環 過 程 中 被 判 定 不 適 合 繼 續 參 與 排 序 的 工 作 。 工 作 池 的 目 的 是 控 制 當 前 所 排 的 工 作 的 數 量。最 差 收 益 擠 出 法 的 總 體 流 程 如 下 圖 所 示 :
图 四 .1 演 算 法 基 本 流 程 圖
排 程 相 關 新 增 參 數 表
𝑃 工 作 池 中 的 工 作 的 集 合
𝑂 棄 用 池 中 的 工 作 的 集 合
𝑅 排 序 結 果 的 集 合
𝑔𝑗 工 作 的 循 環 次 數
表 格 四 .1 排 程 相 關 新 增 參 數 表 1 初 始 化 部 分
對 工 作 進 行 適 當 的 補 足 以 滿 足 新 的 工 作 數 量 𝑛是 機 器 數 量 𝑚的 整 數 倍 例 如 工 作 如 果 數 量 為 15,機 器 為 4 臺,則 補 足 額 外 的 1 個 工 作。
在 實 際 運 算 中, 一 般 採 用 𝑐𝑗 = 0, 𝑏𝑗 = 0, 𝐷𝑗 = 𝑀 ,進 行 補 全 ,並 且 會 額 外 多 補 一 組 來 讓 需 要 排 的 原 始 工 作 進 行 一 次 額 外 的 迴 圈 過 程 。 2 工 作 池 分 配 部 分
2.1 取 出𝑚個 工 作 , 放 入 工 作 池 。 結 束 工 作 池 分 配 部
分
分 配 部 分
擠 出 部 分 工 作 棄 用
以 及 循 環
開 始
2.2 初 始 化 這 些 工 作 的 循 環 次 數𝑔𝑗 = 0。
3 分 配 部 分
3.1 將 工 作 池 中 的 工 作 以 利 益 從 大 到 小 排 列 , 即𝑏𝑝 ≥ 𝑏𝑝+1, 𝑝 ∈ 𝑃。
3.2 查 看 工 作 的 循 環 次 數 即𝑔𝑗值 以 及 當 前 循 環 𝑔𝑐𝑢𝑟𝑟𝑒𝑛𝑡。 初 始 化 𝑔𝑐𝑢𝑟𝑟𝑒𝑛𝑡 = 0。
3.3 跳 過𝑔 < 0的 工 作 , 并 把 屬 於 當 前 循 環 的 工 作 𝑔𝑗 = 𝑔𝑐𝑢𝑟𝑟𝑒𝑛𝑡取 出 , 將 其 中 排 序 最 靠 前 的 工 作 排 入 當 前 總 利 益 最 小 的 機 器 。如 果 沒 有 , 則 𝑔𝑐𝑢𝑟𝑟𝑒𝑛𝑡 = 𝑔𝑐𝑢𝑟𝑟𝑒𝑛𝑡+ 1.
3.4 在 這 一 階 段 ,我 們 以 取 出 一 個 工 作𝑗0為 例。值 得 注 意 的 是,分 配 階 段 每 次 運 作 是 分 配 一 個 工 作 給 某 台 機 器。 而 這 個 分 配 規 則 本 身 可 以 是 我 們 現 在 使 用 的 LPT 的 變 種 HBF, 也 可 以 是 RLD,
EDD, SPT 等 算 法 其 本 身 或 者 變 種 。 4 擠 出 部 分
4.1 查 看 取 出 的 工 作𝑗0的 循 環 次 數 𝑔值 并 使 𝑔𝑗 = 𝑔𝑗+ 1。并 將 𝑗0排 入 一 個 較 為 合 適 的 位 置 。 具 體 規 則 如 下 : 把 𝑗0放 在 要 排 到 的 機 器 的 第 一 個 工 作 。 然 後 執 行 兩 個 判 斷 。
4.1.1 𝑗0是 否 違 反 了 他 自 己 的 限 制 式 要 求 。
4.1.2 𝑗0之 前 的 工 作 如 果 存 在 , 是 否 比 𝑗0的 收 益 更 小 。
兩 者 如 果 都 不 違 反 , 則 將 𝑗0往 後 移 1 位 繼 續 判 斷 。 如 果 違 反 , 則 把 𝑗0排 在 不 違 法 這 兩 個 要 求 的 最 後 一 個 位 置 。在 這 個 操 作 后 , 之 後 的 工 作 會 被 擠 到 後 面 的 位 置 ,也 有 可 能 會 違 反 其 相 關 的 限 制 式 而 被 「 擠 出 」, 這 也 是 這 個 算 法 得 名 的 原 因 。
4.2 從 機 器 的 首 個 工 作 開 始 檢 查 排 序 的 結 果,如 果 出 現 違 反 工 作 完 成 時 間 等 限 制 的 情 況 , 則 將 違 反 限 制 的 首 個 工 作 移 出 , 并 繼 續 檢 查 , 如 果 之 後 依 然 出 現 違 反 限 制 的 工 作 , 則 繼 續 移 出 , 直 到
所 有 工 作 都 滿 足 限 制 式 為 止 。 5 判 斷 部 分
5.1 對 於 每 個 被 擠 出 來 的 工 作𝑗如 果 0 ≤ 𝑔𝑗 ≤ 𝑔𝑚𝑎𝑥 ,即 這 輪 循 環 內 工 作 沒 有 被 排 入 過 或 者 進 入 過 循 環 1 次,那 麼 將 擠 出 部 分 步 驟 4.2 中 違 反 限 制 的 工 作 移 回 工 作 池 𝑃。 如 果 𝑔𝑗 > 𝑔𝑚𝑎𝑥 個 工 作 已 經 被 排 入 過 過 至 少 兩 次 , 則 會 與 擠 出 部 分 開 始 前 的 結 果 進 行 比 較 , 如 果 排 序 結 果 變 差 , 則 將 結 果 初 始 化 回 沒 有 排 入 𝑗0的 情 況 , 并 將 𝑗0放 入 棄 用 池 𝑂,如 果 排 序 結 果 變 好,則 將 違 反 限 制 的 工 作 移 回 工 作 池 𝑃。
5.2 如 果 工 作 池𝑃內 依 然 有 工 作 ,則 回 到 分 配 部 分 的 步 驟 3.1。如 果 工 作 池 𝑃內 沒 有 工 作,則 將 棄 用 池 𝑂的 工 作 加 入 工 作 池,初 始 化 工 作 池 內 和 已 經 排 到 機 器 上 的 工 作 的 循 環 數 𝑔𝑗 = 0, 并 回 到 分 配 部 分 的 步 驟 3.1。如 果 回 到 第 一 步 后 發 現 沒 有 新 工 作 ,則 排 序 結 束 。
我 們 可 以 看 到 ,如 果 工 作 沒 有 最 晚 完 成 時 間 限 制 ,如 果 我 們 將 初 始 序 列 進 行 從 長 到 短 的 排 序 , 則 該 排 序 法 會 變 為 Liu(2016)提 出 的 CHBF 排 序 法 ,如 果 有 利 益 等 於 時 間 ,則 會 簡 化 為 LPT 排 序 法 。此 外 ,在 每 台 機 器 上 ,如 果 我 們 允 許 無 限 次 循 環 ,即 𝑔𝑚𝑎𝑥= ∞,則 會 在 該 機 器 上 實 現 插 入 排 序 , 如 果 存 在 一 個 EDD 可 行 解 , 則 這 個 排 序 會 使 機 器 上 的 工 作 以 EDD 排 序 。 這 樣 我 們 就 可 以 達 成 同 時 兼 顧 LPT 以 及 EDD 兩 種 排 序 法 的 排 序 方 法 。 同 時 , 我 們 要 注 意 到 由 於 工 作 往 往 不 能 在 機 器 上 找 到 EDD 可 行 解 ,所 以 直 接 進 行 EDD 排 序 反 而 會 陷 入 該 擠 出 哪 個 工 作 的 困 難 選 擇 , 這 也 是 我 們 的 算 法 沒 有 直 接 利 用 EDD 可 行 解 的 原 因 。 而 在 我 們 的 算 法 中,我 們 可 以 保 證 擠 出 來 的 工 作 總 體 上 是 盡 可 能 小 的 ,這 也 是
最 差 擠 出 算 法 的 核 心 思 想 。
第 三 節 最 差 收 益 擠 出 算 法 具 体 例 子
我 們 考 慮 一 種 情 況 ,假 如 有 ABCDEF 六 個 工 作 被 排 入 2 臺 機 器 里 。 各 個 工 作 的 性 質 如 下 :
工 作 A B C D E F
利 益 1 4 3 1 3 1
最 晚 完 成 時 間
1 2 2 3 4 5
時 長 1 2 2 2 3 3
表 格 四 .2 舉 例 試 驗 工 作 參 數 首 先 如 果 直 接 使 用 EDD 排 序 , 則 結 果 會 是 :
機 器 依 序 被 排 入 的 工 作 機 器 總 利 益
1 A 1
2 B F 5
表 格 四 .3 舉 例 試 驗 EDD 排 序 結 果 如 果 使 用 CHBF( 利 益 優 先 ) 排 序
機 器 依 序 被 排 入 的 工 作 機 器 總 利 益
1 B 4
2 C 3
表 格 四 .4 舉 例 試 驗 CHBF 排 序 結 果 如 果 直 接 使 用 LPT 排 序
機 器 依 序 被 排 入 的 工 作 機 器 總 利 益
1 F 1
2 E 3 表 格 四 .5 舉 例 試 驗 LPT 排 序 結 果
而 如 果 採 用 LBO 排 序 , 在 這 裡 由 於 工 作 數 量 較 少 , 為 了 簡 短 步 驟 , 取 𝑔𝑚𝑎𝑥 = 1, 𝑔𝑚𝑎𝑥 = 1時 , 在 一 些 極 端 情 況 下 容 易 出 現 當 一 次 性 擠 出 多 個 工 作 時 , 陷 入 一 個 較 差 的 解 里 , 一 般 來 說 , 取 𝑔𝑚𝑎𝑥 = 2時 可 以 應 對 大 多 數 情 況 。
總 輪 次 輪 次 g 執 行 結 果
0 將 工 作 LDD 排 序 J:ABCDEF
1 取 出 2 個 工 作 J:CDEF P:AB
1 對 工 作 池 利 益 排 序 P:BA
1 0 將 B 排 入 機 器 1 1:B P:A
1 檢 查 1:B 無 擠 出 P:A
1 對 工 作 池 利 益 排 序 P:A
1 0 將 A 排 入 機 器 2 2:A P:∅
1 初 始 化 B1:4 B2:1
2 取 出 2 個 工 作 J: EF P: CD
2 對 工 作 池 利 益 排 序 P:CD
2 0 將 C 排 入 機 器 2 2:CA P:D
2 檢 查 2:C A 擠 出
P:DA
2 對 工 作 池 利 益 排 序 P:A(0)D(0)
2 0 將 D 排 入 機 器 2 2:DC P:A
2 檢 查 2:D C 擠 出
P:CA
2 對 工 作 池 利 益 排 序 P:C(1)A(0)
2 0 將 A 排 入 機 器 2 2:AD P:C
2 檢 查 無 擠 出
2 對 工 作 池 利 益 排 序 P: C(1)
2 1 將 C 排 入 機 器 2 2:CAD P:D
2 檢 查 2:C AD 擠 出
P:DA
2 對 工 作 池 利 益 排 序 P:A(1)D(1)
2 1 將 A 排 入 機 器 2 2:AC P:D
2 檢 查 2:C A 擠 出 O:A
P:D
2 對 工 作 池 利 益 排 序 P: D(1)
2 1 將 D 排 入 機 器 2 2:DC P:∅
2 檢 查 2:C D 擠 出 O:AD
P: ∅
2 初 始 化 B1:4 B2:3
3 取 出 2 個 工 作 J: ∅ P: ADEF
3 對 工 作 池 利 益 排 序 P:EADF
3 0 將 E 排 入 機 器 2 2:EC
3 檢 查 2:E C 擠 出
P:ADCF
3 對 工 作 池 利 益 排 序 P:C(1)A(0)D(0)F(0)
3 0 將 A 排 入 機 器 2 2:AE P: CDF
3 檢 查 2:AE 無 擠 出 P:
CDF
3 對 工 作 池 利 益 排 序 P:C(1) D(0)F(0)
3 0 將 D 排 入 機 器 1 1:DB P: CF
3 檢 查 1:D B 擠 出 P: CBF
3 對 工 作 池 利 益 排 序 P:B(1)C(1) F(0)
3 0 將 F 排 入 機 器 1 1:DF P: BC
3 檢 查 1:DF P: BC
3 對 工 作 池 利 益 排 序 P:B(1)C(1)
3 1 將 B 排 入 機 器 1 1:BDF P: C
3 檢 查 1:BF D 擠 出 P: DC
3 對 工 作 池 利 益 排 序 P:C(1)D(1)
3 1 將 C 排 入 機 器 2 2:CAE P: D
3 檢 查 2:AE C 擠 出 P: D
O:C
3 對 工 作 池 利 益 排 序 P: D(1)
3 1 將 D 排 入 機 器 2 2:ADE P: D
3 檢 查 2:AE D 擠 出 O:CD
P: ∅
排 序 完 成 1: BF 2: AE
B1:5 B2:4 表 格 四 .6 舉 例 試 驗 LBO 排 序 過 程 以 及 結 果
可 見 最 差 收 益 擠 出 算 法 成 功 的 規 避 了 EDD 和 LPT 算 法 的 弱 點,找 到 了 一 組 更 為 優 秀 的 解 。 同 時 , 我 們 可 以 注 意 到 , 結 果 為 AE 和 BF,
其 中,F 的 效 率 實 際 上 是 最 低 的,而 效 率 第 二 高 的 C 也 被 排 除 在 外。所 以 說,試 圖 直 接 找 到 一 個「 評 分 」來 進 行 分 配 工 作 是 相 對 困 難 的。但 是 相 對 來 說,我 們 找 到「 評 分 」不 及 格 的 工 作 相 對 容 易,找 出 當 前 違 反 限 制 式 的 工 作 即 可 。 而 通 過 擠 出 這 一 操 作 則 可 以 大 大 減 少 系 統 的 「 試 錯 」
時 間。以 一 次 排 入 擠 出 檢 查 為 一 個 完 整 的 步 驟。這 個 流 程 中,我 們 總 共 進 行 了 14 次 檢 查。而 我 們 總 共 有 6 個 工 作,不 考 慮 順 序 共 有 41 種 分 配 情 況 。
第 四 節 最 差 收 益 擠 出 算 法 的 時 間 複 雜 度
對 於 最 差 收 益 擠 出 算 法 的 時 間 複 雜 度 的 計 算 ,由 於 流 程 複 雜 ,所 以 直 接 計 算 相 對 困 難 。但 是 我 們 可 以 用 一 個 較 為 簡 單 的 方 法 預 估 出 其 時 間 複 雜 度 的 上 界 。 假 設 一 個 擁 有 著 𝑛個 工 作 𝑚臺 機 器 的 問 題 。 在 工 作 池 分 配 階 段 ,我 們 將 進 行 𝑛 𝑚⁄ 次 步 驟 ,哪 怕 改 變 分 配 方 式 ,這 個 步 驟 也 不 會 超 過 𝑛次 , 因 此 這 操 作 本 身 的 耗 時 可 以 忽 略 不 計 , 同 理 , 我 們 可 以 忽 略 選 擇 工 作 分 配 到 機 器 上 這 一 過 程 所 花 的 時 間 。 在 分 配 階 段 和 擠 出 階 段 , 我 們 可 以 知 道 工 作 池 的 大 小 不 會 超 過 𝑛, 而 在 某 台 機 器 上 已 經 分 配 到 的 工 作 也 同 樣 不 會 超 過 𝑛。 那 麼 假 設 最 糟 糕 的 情 況 , 我 們 選 出 的 一 個 工 作 分 配 到 這 台 機 器 上 時 , 這 個 機 器 上 的 工 作 正 好 是 反 向 的 EDD 排 序 , 而 加 入 這 個 工 作 后 則 只 能 EDD 才 能 排 下 。 這 個 過 程 不 會 慢 于 時 間 複 雜 度 為 𝑂(𝑛2)的 插 入 排 序 法,而 這 個 過 程 最 多 進 行 𝑛 ∙ 𝑔𝑚𝑎𝑥次。同 時,每 進 行 一 次 擠 出,如 果 有 新 的 擠 出 結 果,則 要 進 行 一 次 工 作 池 的 排 序,而 這 個 步 驟 的 本 身 的 時 間 複 雜 度 不 會 超 過 𝑂(𝑛2)。因 此,在 某 一 工 作 池 下,總 步 驟 的 時 間 複 雜 度 不 會 超 過 𝑂(𝑛3)。 而 由 於 工 作 池 的 更 新 次 數 不 會 超 過 𝑛次 , 因 此 時 間 複 雜 度 不 會 超 過 𝑂(𝑛4)。 在 實 作 中 , 實 際 上 不 可 能 出 現 完 成 了 整 個 排 序 后 循 環 次 數 𝑔只 增 加 了 一 次 的 情 況 , 而 一 般 機 器 上 以 及 工 作 池 中 的 工 作 數 量 也 不 會 那 麼 極 端,排 序 時 也 不 太 會 出 現 需 要 跑 完 整 個 過 程 恰 好 能 夠 加 入 的 工 作 , 所 以 實 際 耗 時 會 遠 遠 低 於 上 界 。
第 五 節 最 差 收 益 擠 出 算 法 的 細 節 意 義
在 實 現「 最 差 收 益 擠 出 」這 一 過 程 中,我 們 採 用 了 很 多 方 法 來 保 證
「 最 差 收 益 」 能 夠 被 順 利 的 「 擠 出 」。 這 些 方 法 是 啟 發 式 的 , 很 多 是 根 據 以 往 的 經 驗 和 實 際 試 驗 中 遇 到 的 極 差 情 況 而 加 入 的 步 驟。儘 管 基 本 思 想 的 部 分 和 一 些 細 節 操 作 本 身 我 們 已 經 在 第 一 節 和 第 二 節 進 行 了 詳 解,
我 們 將 在 這 一 節 解 釋 這 些 細 節 操 作 的 「 為 什 麼 」。 事 實 上 , 這 些 細 節 的 加 入 是 最 差 收 益 擠 出 法 得 以 達 成 的 基 礎 之 一,同 時 也 大 大 提 升 了 最 差 收 益 擠 出 法 的 穩 定 性。我 們 將 對 我 們 的 擠 出 等 步 驟 進 行 詳 細 的 剖 析,來 展 示 我 們 為 何 需 要 加 入 這 些 步 驟,已 經 這 些 步 驟 如 何 使 得 最 差 收 益 擠 出 法 能 達 到 一 個 頗 為 不 錯 的 結 果 。
1 基 本 排 序 部 分 :
在 擠 出 之 前 ,我 們 需 要 一 個 方 案 來 得 到 一 個 用 來 被「 擠 出 」的 排 序 結 果。在 最 差 收 益 擠 出 法 中,這 一 結 果 通 過 兩 部 分 來 達 到。其 一 是 決 定 工 作 被 排 序 先 後 的 順 序 , 其 二 是 決 定 工 作 分 配 的 順 序 。 本 文 選 用 LDD 的 原 因 是 其 較 難 被 擠 出,而 使 用 HBF 則 是 根 據 Liu( 2016)對 於 相 關 問 題 的 經 驗。這 部 分 的 研 究 還 有 很 多 的 試 驗 和 研 究 可 以 進 行,根 據 具 體 的 問 題 可 能 也 會 有 相 對 更 合 適 的 方 案,我 們 選 取 的 只 是 一 種 啟 發 式 的 中 庸 的 選 擇,我 們 將 會 在 數 值 試 驗 部 分 看 到 一 些 定 性 的 結 果。由 於 本 文 的 主 要 目 的 是 引 入「 擠 出 」這 一 概 念 並 將 其 實 用 化,因 此 不 再 對 這 方 面 內 容 進 行 更 多 的 探 討 。
2 工 作 排 入 部 分 的 選 位 與 擠 出 問 題
工 作 被 排 入 后,我 們 選 擇 將 其 加 入 一 個「 合 適 」的 位 置 并 給 出 了 兩 條 規 則。其 一 是 不 能 違 反 其 本 身 的 相 關 限 制 式,這 個 的 目 的 是 保 證 工 作 被 排 入。這 一 思 想 來 源 于 退 火 算 法,我 們 希 望 能 夠 允 許 目 標 值 的 暫 時 降 低 來 獲 取 更 多 的 可 能。由 於 最 後 截 止 時 間 限 制 的 關 係,在 某 一 台 機 器 上
很 容 易 出 現 無 法 加 入 新 的 工 作 的 情 況,這 一 結 果 並 不 一 定 是 足 夠 優 秀 的,
因 此 我 們 強 制 新 的 工 作 在 違 反 限 制 式 之 前 加 入 隊 列,來 讓 這 個 結 果 進 行 改 變,獲 得 更 多 的 可 能。其 二 是 機 器 上 前 一 個 工 作 的 目 標 值 不 能 比 當 前 工 作 小。這 一 目 的 是 在 工 作 發 生 被 擠 出 時,盡 可 能 的 擠 出 比 較 小 的 工 作。
我 們 知 道 從 機 器 上 選 擇「 最 合 適 」的 擠 出 工 作 可 以 被 視 為 是 把 工 作 分 為 兩 類 , 讓 其 中 一 邊 結 果 最 大 , 是 一 個 partition 問 題 的 變 種 。 這 是 一 個 NP-hard 問 題,這 也 就 意 味 著 我 們 必 須 找 出 一 個 相 關 的 排 序 法 來 解 決 這 個 問 題。但 是,傳 統 的 partition 問 題 的 排 序 法 針 對 的 是 等 分,而 我 們 這 裡 並 不 相 同。因 此 我 們 採 用 的 思 路 是 讓 所 有 的 工 作 的 排 序 本 身 是 收 益 越 低 靠 後。由 於 對 於 同 一 個 最 晚 完 成 時 間,越 靠 後 就 越 容 易 違 反 限 制 式,
我 們 讓 收 益 較 低 的 工 作 靠 後 , 就 更 容 易 實 現 「 最 差 收 益 擠 出 」。 誠 然 , 這 裡 有 個 矛 盾,大 的 工 作 排 在 前 面 雖 然 更 難 以 違 反 限 制 式,但 是 如 果 多 個 工 作 違 反 限 制 式 時,由 於 我 們 的 擠 出 規 則 是 從 第 一 個 工 作 開 始 逐 步 向 後 判 斷,相 對 較 大 的 工 作 可 能 會 由 於 排 序 較 為 靠 前 先 被 擠 出,然 後 小 的 工 作 就 不 會 違 反 限 制 式 了。對 於 這 一 問 題,我 們 可 以 假 設 當 一 個 工 作 被 擠 出 時,我 們 不 直 接 擠 出 而 是 進 行 交 換,易 知 只 有 和 其 之 前 的 工 作 進 行 交 換 才 可 能 改 變 其 被 擠 出 的 結 果。而 在 這 個 工 作 之 前 的 工 作 只 有 比 這 個 工 作 收 益 更 大 或 者 最 晚 工 作 截 止 時 間 更 早 的 工 作。對 於 前 者,按 照 最 差 收 益 擠 出 的 思 路,肯 定 是 當 前 被 擠 出 的 工 作 更 適 合 作 為 擠 出 對 象。而 對 於 後 者,這 也 是 我 們 算 法 加 入 循 環 的 原 因。在 下 一 次 循 環 中,如 果 此 時 依 然 是 這 個 被 擠 出 的 工 作 加 入 了 這 台 機 器,那 麼 根 據 不 能 比 後 面 的 工 作 收 益 小 的 原 則,這 個 工 作 將 會 被 加 入 到 那 個 之 前 沒 有 被 擠 出 最 晚 工 作 截 止 時 間 更 早 的 工 作 之 前,從 而 讓 他 可 以 擠 出 這 些 較 小 的 工 作。這 也 引 出 了 最 差 收 益 擠 出 法 的 一 個 可 能 的 最 差 情 況,即 一 個 收 益 足 夠 大 但 是 工 作 所 需 的 完 成 時 間 也 過 長 的 工 作,可 能 會 像 石 頭 一 般「 沉 」工 作 隊 列 的 前
方,而 之 後 的 排 序 過 程 都 集 中 于 對 于 該 工 作 之 後 工 作 的 改 善。這 一 問 題 可 能 是 最 差 工 作 擠 出 法 函 待 解 決 的 一 個 重 要 的 最 差 情 況。剔 除 工 作 本 身,
適 當 的 調 整 工 作 排 入 的 順 序 使 得 在 這 個 工 作 之 後 能 夠 有 擠 出 該 工 作 的 工 作 都 是 可 能 的 解 決 辦 法 。
3 算 法 的 循 環 問 題
從 排 入 和 擠 出 問 題 的 討 論 中 ,我 們 可 以 得 知 ,為 了 避 免 算 法 陷 入 局 部 最 優 ,我 們 強 制 讓 新 的 工 作 排 入 。而 這 一 步 驟 自 然 可 能 導 致 目 標 值 的 下 降。因 此,設 置 適 當 的 循 環 方 案 也 是 保 證 算 法 結 果 的 手 段。如 果 一 個 工 作 的 排 入 并 擠 出 另 外 一 個 工 作 后 導 致 了 目 標 值 的 下 降,那 麼 接 下 來 的 排 序 中 , 根 據 HBF 規 則 , 我 們 依 然 會 改 善 同 一 台 機 器 。 如 果 在 排 入 一 個 或 者 數 個 新 的 工 作 后 目 標 值 上 升,我 們 則 完 成 了 尋 找 其 他 最 優 的 過 程。
如 果 沒 有 改 善,那 麼 可 以 預 計 的 是 我 們 之 前 被 擠 出 的 工 作 又 會 被 排 入 這 台 機 器 中。根 據 排 入 法 則,這 個 曾 經 被 擠 出 過 的 工 作 會 排 到 那 個 擠 出 他 的 工 作 之 前。這 樣 就 實 現 了 工 作 的 前 後 換 位,從 而 出 現 可 能 的 兩 個 工 作 都 排 入 的 結 果。但 是 這 一 過 程 可 能 會 導 致 無 限 循 環。因 此 我 們 選 擇 加 入 工 作 循 環 最 大 次 數,通 過 當 工 作 超 過 循 環 最 大 次 數 限 制 時 只 取 使 目 標 值 變 好 的 排 序 結 果,我 們 就 可 以 讓 這 一 進 程 總 體 上 使 得 目 標 值 上 升。同 時 在 排 序 中 每 加 入 新 工 作 便 初 始 化 工 作 本 身 的 循 環 次 數,這 樣 讓 每 個 工 作 有 更 多 的 「 挑 戰 」 機 會 。
4 額 外 循 環 問 題
在 實 作 中 ,排 序 接 受 后 我 們 通 過 加 入 0 收 益 工 作 來 增 加 額 外 的 循 環 次 數 ,這 原 因 在 於 我 們 之 前 用 盡 循 環 次 數 ,被 認 為 是 該 輪「 不 重 要 」的 工 作 , 可 能 並 不 是 排 序 結 束 時 目 標 值 最 小 的 機 器 的 「 不 重 要 」 的 工 作 , 這 些 工 作 可 能 在 之 前 改 善 其 他 機 器 的 過 程 中 用 盡 了 循 環 次 數 。因 此 我 們 加 入 額 外 的 循 環,就 可 以 讓 這 些 工 作 獲 得 在 當 前 機 器 上 再 試 一 次 的 機 會。
事 實 上,在 第 五 章 的 數 值 研 究 中,我 們 對 一 些 特 定 情 況 的 工 作 加 入 數 量 進 行 了 研 究,那 裡 的 結 果 也 是 在 基 本 的 循 環 完 成 后,額 外 加 入 一 組 0 收 益 工 作 進 行 了 再 一 次 循 環 的 結 果 。
第五章 數值試驗
第 一 節 試 驗 介 紹 與 試 驗 參 數
使 用 數 值 試 驗 是 驗 證 一 種 算 法 有 效 性 的 常 用 方 法 。在 這 一 章 中 ,我 們 對 6 種 情 況 進 行 了 114 種 不 同 類 別 的 數 值 試 驗 。 每 一 次 試 驗 將 平 均 100 次 的 結 果 來 與 整 數 規 劃 所 得 的 最 佳 解、線 性 規 劃 所 得 的 解 上 界、基 因 算 法 所 得 的 結 果 進 行 比 較 。 具 體 參 數 如 下 :
試 驗 參 數 表
試 驗 參 數 數 值
𝑛 {15, 30, 50, 100, 150}
𝑚 {3, 10, 30}
𝑐𝑗 [0, 100]
𝐾𝑖 {200, 300, 600, 1800, ∞(10000)}
𝑏𝑗 {𝑐𝑗, 𝑐𝑗2
, √𝑐𝑗, rand, rand( √𝑐𝑗, 𝑐𝑗5 4⁄ )}
𝐷𝑗 {3𝑐𝑗, 4𝑐𝑗, 8𝑐𝑗, 27𝑐𝑗, ∞(1000𝑐𝑗), rand, rand(𝑐𝑗 2𝑛
𝑚∙ 𝑐𝑗)}
表 格 五 .1 數 值 試 驗 參 數 表
對 於 試 驗 樣 本 的 參 數,我 們 將 考 察 不 同 𝑛 𝑚⁄ 比 的 工 作 的 同 時,考 慮 不 同 機 器 工 作 時 長 限 制、不 同 利 益 曲 線 和 不 同 最 晚 截 止 時 間 的 情 況。主 要 考 察 的 參 數 的 數 值 來 源 為 :
𝐷𝑗最 晚 完 成 時 間 限 制 。 較 緊 (DT)的 情 況 下 統 一 設 計 為 3 倍 , 較 寬 鬆 (DL)的 情 況 下 則 根 據𝑛 𝑚⁄ 比 設 計 為 4~27 倍 不 等。此 外 還 有 無 𝐷𝑗限 制 (DK) 以 及 額 外 兩 種 隨 機 的 情 況。第 一 種 是 隨 機 情 況 是 不 超 過 DL 的 較 為 緊 張 的 情 況 DRT , 另 外 一 種 是 開 源 最 大 不 超 過 2𝑛 𝑚⁄ 倍 的 較 為 寬 鬆 的 情 況 (DRL)。
𝐾𝑖機 器 的 最 大 工 時 限 制。除 了 無 限 制 (KK)外,統 一 設 計 為 100 ∙ (𝐷𝑗−
1), 即 根 據 當 前 試 驗 的 𝐷𝑗參 數 倍 率 來 決 定 𝐾𝑖, 在 實 驗 中 這 種 情 況 標 記 為 KD。
𝑏𝑗為 利 益 的 倍 率 。試 驗 中 我 們 將 會 用 到 線 性 bL,凹 bA,凸 bX 以 及 兩 種 隨 機 情 況。第 一 種 是 在 [0, 100]的 範 圍 內 即 𝑐𝑗的 取 值 範 圍 內 隨 機 產 生 (R), 另 外 一 種 是 考 慮 到 我 們 之 前 的 試 驗 中 重 點 研 究 了 凹 凸 和 線 性 關 係 對 算 法 表 現 的 影 響,因 此 隨 機 的 範 圍 將 根 據 𝑐𝑗在 [√𝑐𝑗, 𝑐𝑗5 4⁄ ]內 取 值,這 個 範 圍 的 平 均 值 依 然 接 近 𝑐𝑗, 這 種 隨 機 我 們 標 記 為 RC。
第 二 節 數 值 試 驗
數 值 試 驗 中 我 們 將 把 基 因 算 法 作 為 我 們 的 參 照 對 象 。基 因 算 法 在 諸 多 應 用 中 已 經 證 明 了 其 價 值 。在 我 們 這 個 問 題 上 是 一 個 良 好 的 參 照 對 象 。 我 們 的 試 驗 中 ,基 因 算 法 的 參 數 為 :種 群 數 目 50,交 叉 概 率 為 0.6,變 異 概 率 為 0.1,統 一 進 化 2000 代 并 選 擇 其 中 最 好 的 結 果。除 此 以 外,我 們 也 將 通 過 整 數 規 劃 來 計 算 其 最 優 解,對 於 工 作 數 量 較 多 的 情 況,由 於 這 是 個 NP-hard 問 題 , 我 們 將 依 靠 線 性 規 劃 來 求 出 解 的 上 界 來 作 為 參 照 。 得 益 于 我 們 在 模 型 構 建 時 的 關 於 𝐷𝑗限 制 式 在 默 認 EDD 初 始 排 列 下 有 效 的 證 明,線 性 規 劃 下 的 模 型 只 需 要 去 除 𝑥𝑖𝑗的 整 數 設 定 即 可,其 意 義 在 於 分 配 給 機 器 的 工 作 可 以 被 分 割 。 我 們 通 過 使 用 AMPL 程 式 中 的 CPLEX 作 為 我 們 求 解 整 數 規 劃 以 及 線 性 規 劃 問 題 的 手 段 。 在 試 驗 結 果 中 , 如 果 沒 有 列 出 整 數 規 劃 的 結 果 , 則 說 明 AMPL 無 法 在 短 期 內 求 解 這 個 整 數 規 劃 問 題 。
關 於 基 因 算 法 ,我 們 採 用 的 基 因 是 一 個 長 度 為 𝑛取 值 為 [0,𝑚]的 數 組 , 並 且 在 初 始 化 時 通 過「 剪 除 」不 符 合 限 制 條 件 的 工 作 以 保 證 可 以 產 生 一 組 合 適 的 初 始 基 因,否 則 該 算 法 將 會 花 費 過 多 的 時 間 在 初 始 化 階 段。由 於 基 因 算 法 在 2000 代 時 花 費 的 時 間 已 經 不 短 於 最 差 收 益 擠 出 法 , 在 工
作 量 較 大 時 更 是 遠 遠 超 過 最 差 收 益 擠 出 法 , 故 統 一 採 用 2000 代 作 為 試 驗 的 標 準 。
工 作 與 機 器 數 量 試 驗 結 果 表
𝑛 𝑚 LBO/IP GENE/IP LBO/LP GENE/LP LBO/GENE 15 3 0.931798 0.945271 0.906976 0.918363 0.988122 30 3 NP NP 0.917569 0.898762 1.032788 100 3 NP NP 0.918288 0.840305 1.13213 50 10 NP NP 0.896556 0.80085 1.1375 100 10 NP NP 0.905344 0.788975 1.194936 150 30 NP NP 0.889958 0.645268 1.418141
表 格 五 .2 工 作 與 機 器 數 量 試 驗 結 果 表
最 差 利 益 擠 出 法 整 體 來 說 表 現 較 為 穩 定,整 體 上 來 說 要 遠 遠 優 於 基 因 算 法。對 於 15 個 工 作 的 情 況,基 因 演 算 法 跑 完 了 2000 代 也 僅 僅 稍 好 于 最 差 利 益 擠 出 法,而 通 過 查 詢 試 驗 記 錄 可 知,於 此 同 時 最 差 利 益 擠 出 法 僅 僅 進 行 了 32 個 步 驟 。
在 工 作 稍 多 時 ,我 們 已 經 無 法 計 算 出 整 數 規 劃 的 最 佳 解 ,通 過 第 一 組 數 據 的 比 較 ,我 們 有 理 由 相 信 最 差 利 益 擠 出 法 總 體 表 現 可 以 達 到 最 佳 解 的 90%, 而 在 30 臺 開 始 , 最 差 收 益 擠 出 法 的 效 果 只 是 在 緩 慢 下 降 , 已 經 相 對 於 基 因 算 法 有 了 明 顯 的 優 勢 。
機 器 產 能 限 制 試 驗 結 果 表
𝐾𝑖 LBO/IP GENE/IP LBO/LP GENE/LP LBO/GENE KK 0.942288 0.956862 0.917367 0.830507 1.128881 KD 0.917373 0.929333 0.889853 0.794677 1.18047
表 格 五 .3 數 值 試 驗 機 器 產 能 試 驗 結 果 表
我 們 可 以 看 到 整 體 表 現 上 ,最 差 利 益 擠 出 法 是 要 優 於 基 因 演 算 法 的 。