Invoice Composer

把反覆試算的發票配置
交給演算法

自動完成選品、數量與單價配置,同時滿足金額、庫存與毛利範圍。

可縮短 99% 以上 作業時間

工作價值

半天以上的配置工作,幾分鐘完成。

以 50 張發票、1,000 項庫存為例,同時滿足發票金額、庫存與 15–25% 毛利限制。

人工配置

約 12 ~ 16 小時

選品配量、核對金額與毛利,再反覆調整。

人工時間為本案例估計工時;自動配置時間採推薦環境的實測中位數,詳細效能比較見下方。

環境與速度

不同運算環境,如何影響求解效率?

各環境配置耗時

C:CPU 配額 · G:GiB 記憶體配額 · w:搜尋執行緒數。

配置前四階段價格精修合計
16C / 32G · 16w2 分 26 秒未加入2 分 26 秒
8C / 16G · 8w2 分 40 秒未加入2 分 40 秒
4C / 8G · 2w8 分 56 秒未加入8 分 56 秒
4C / 8G · 1w121 分 52 秒未加入121 分 52 秒

價格精修的品質與時間

∞ 表示尚未全數取得可行解,0 表示已達該次最終評分,不代表全域最優。建議預留 30 秒精修。

秒數平均評分差距達最終評分次數
51.5021 / 30
100.1326 / 30
150.0030 / 30
200.0030 / 30

以上為同一台主機的 Docker 資源上限實驗。

價格精修為選用步驟,根據實測最多15秒即可達到最終價格評分,建議不超過 30 秒。更長時間的邊際效益會快速遞減。

深入實測

比較速度、記憶體與最終求解品質。

比較各配置的完整測試耗時、峰值 RAM 與整體求解品質。點選圖中的長條,即可查看該配置的詳細階段資訊。

平均完整求解耗時

完整測試耗時,包含 60 分鐘的價格精修

峰值 RAM 用量

峰值 Working Set,用於估算執行演算法所需的最大記憶體容量,作為環境 RAM 配置的參考依據。

求解品質分數

0–100 分,越高代表配置越接近業務目標

配置總分明細合理性金額分配毛利分布數量與單價自然度
16C / 32G · 16w90.9100.059.569.779.4
16C / 32G · 8w83.8100.055.971.578.1
16C / 32G · 4w77.0100.050.872.078.5
16C / 32G · 1w66.391.049.671.877.5
8C / 16G · 8w87.5100.056.172.083.7
8C / 16G · 4w73.2100.051.571.978.0
8C / 16G · 1w74.291.054.373.075.5
4C / 8G · 4w79.6100.054.171.075.9
4C / 8G · 2w77.1100.053.472.172.1
4C / 8G · 1w66.391.049.671.877.5

8 CPU / 16 GiB · 8 搜尋執行緒

完整耗時 62 分 43 秒,包含 60 分鐘價格精修。

各階段耗時

各階段平均 CPU

各階段平均與峰值 RAM

Branches · 搜尋分支
141,430
Extreme cases · 極端案例數
0

以上數值為多次執行的中位數。不同階段的 Penalty 定義不同,不適合跨階段排名。

測試環境與方法

測試環境:Ryzen 9 7950X3D @ 4.2 GHz(16 個實體核心/32 個邏輯處理器),64GB DDR5 @ 4800 MHz。

Docker 配額最高 16 CPU。搜尋執行緒數是求解器設定,小於等於 CPU 配額。

固定 50 張發票、1,000 項庫存與 15–25% 毛利範圍;十種配置各重複三十次取中位數。

固定 Random seed:42、876、877、878

完整測試耗時包含 60 分鐘價格精修;峰值 RAM 採 Process Working Set,並以 GiB 表示。

親自探索

看看演算法如何配置一張發票。

到互動實驗室調整條件、觀察求解階段與結果。