見出し画像

配送計画問題の可視化

配送計画問題に対する可視化を作ってみた。Plotlyを使えば簡単だ。

上に示したのは簡単な問題に対する最適化の結果で、80顧客程度の問題例なので10秒くらいで解ける。顧客の荷物量を重量ベースと容量ベースでみたときに、ボトルネックになっている方の大きさを点のサイズにしている。大きいのは容量が大きい顧客だ。

点の色は時間枠のきつさをcolormapを使って示したもので、赤色が時間枠のきついもの(時間枠幅の小さいもの)、白に近づくと時間枠幅の大きいものになっている。

顧客の荷物量をヒストグラムで示したり、時間枠の集中具合も可視化してみた。絵のセンスがないのであまり綺麗ではないが、とても簡単に描ける。

例として荷物量描画のコードを示しておく。

# weight and volume visualization
from plotly import tools
trace0 = Histogram(x=cust.volume, 
                nbinsx = 30,
                name ="Volume"
               )
trace1 = Histogram(x=cust.weight, 
                nbinsx = 30,
                name = "Weight"
               )
fig = tools.make_subplots(rows=1, cols=2)
fig.append_trace(trace0, 1, 1)
fig.append_trace(trace1, 1, 2)
plotly.offline.plot(fig);

この記事が気に入ったらサポートをしてみませんか?