理楓
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 供應鏈管理 Supply Chain Management ###### tags: `SCM` `NTU` `Management` ## **供應鏈導論** 何謂供應鏈管理:將++對的數量++、++對的商品++,在++對的時間++,送到++對的地點++。 * Push Process:預期需求並做出準備(需求穩定) * Pull Procsee:等需求發生再處理(需求不穩定) ![](https://i.imgur.com/l0E7UnO.png) ## **需求與供給規劃** ### **Aggregate Planning** * Chase Strategy:需求多少就生產多少 → 用「產能」追逐 產能變化大、相對便宜,存貨成本高。 * Level Strategy:以存貨應對需求 產能變化不大、相對貴,存貨成本低。 * Time Flexibility Strategy:中庸之道,固定員工,調整工作時間(無薪假) 存貨成本低且產能調節便宜使用 --- ### **Planning Model** #### 決策變數 * Workforce:$W_t$ * Number of employees hired:$H_t$ * Number of employees laid off:$L_t$ * Production in period:$P_t$ * Inventory at the end of period:$I_t$ * Number of units stocked out:$S_t$ * Number of units subcontracting:$C_t$ * Overtime hours:$O_t$ #### 成本 * Regular Time Labor Cost 記得換算時間單位(e.g. 小時、日、月) * Overtime Labor Cost * Hiring Cost * Layoffs Cost * Inventory Cost * Stockout Cost * Material Cost * Subcontracting Cost(外包成本) #### 限制 * $W_t=W_{t-1}+H_t-L_t$ * $P_t \leq \dfrac{hours/month}{hours/unit}W_t + \dfrac{O_t}{hours/unit}$ (產量不可以超過產能) * $(I_t-S_t)=(I_{t-1}-S_{t-1})+(P_t+C_t)-D_t$ (本期結果=上期結果+生產-需求) * $O_t \leq xW_t$ ($x$為每人加班上限) ## **存貨管理:週期存貨** ### **Cycle Inventory** #### **決策變數** * ++Annual++ Demand:$D$ * Order cost:$S$ * Cost per unit:$C$ * Holding cost:$H=hC$(將存貨成本以生產成本的比率表達) * Lot size:$Q$ * Order frequency:$n$ #### **公式** * Cycle Inventory $(CI) = \dfrac{Q}{2}$ * Flow Time $(FT) = \dfrac{CI}{D} = \dfrac{Q}{2D}$ --- ### **Economic Order Quantity(EOQ)** * Material Cost $(MC) = C \cdot D$ ($單位成本 \cdot 需求量$) * Order Cost $(OC) = \dfrac{D}{Q} \cdot S = nS$ ($叫貨次數 \cdot 成本$) * Holding Cost $(HC) = CI \cdot H = \dfrac{Q}{2} \cdot hC$ (Note that $H=hC$) * Total Cost $(TC) = MC + OC + HC$ ($MC$常忽略不計) Take $dTC/dQ=0$, we have: * Optimal Lot Size $(Q^*) = \sqrt{\dfrac{2DS}{hC}}$ * Optimal Order Frequency $(n^*) = \dfrac{D}{Q^*} = \sqrt{\dfrac{DhC}{2S}}$ --- ### **EOQ with Multiple Product** 條件: 1. 有各自的需求量$D_i$、單位成本$C_i$ 2. 除了有共同的運輸成本$S$以外,還有各自的額外運輸成本$s_i$。 #### **No aggregation:即各自的EOQ** #### **Complete aggregation** * $S^* = S + \sum_{i=1}^{k}{s_i}$ * $TC = OC + HC = S^*n + \sum_{i=1}^{k}{\dfrac{D_ihC_i}{2n}}$ (Note that $HC = \dfrac{Q}{2} \cdot hC = \dfrac{DhC}{2n}$) Take $dTC/dn = 0$, we have $n^* = \sqrt{\dfrac{\sum_{i=1}^{k}{D_ihC_i}}{2S^*}}$ #### **Tailored aggregation** * Step 1. 找出最常訂的貨的訂貨次數,以此做為總訂貨次數 $\bar{n} = Max(\bar{n_i} = \sqrt{\dfrac{D_ihC_i}{2(S+s_i)}})$ * Step 2. 算出其他貨品的訂購次數,並計算「最常訂的貨訂幾次之後,需要訂該貨品」 $\bar{n_i} = \sqrt{\dfrac{D_ihC_i}{2s_i}}$ $\bar{m_i} = \dfrac{\bar{n}}{\bar{n_i}}$ $m_i = \lceil \bar{m_i} \rceil$ (取上高斯,無條件進位到整數) * Step 3. 重新計算總訂貨次數 $n = \sqrt{\dfrac{\sum_{i=1}^{k}{D_ihC_im_i}}{2[S+\sum_{i=1}^{k}{\dfrac{s_i}{m_i}}]}}$ * Step 4. 重新計算所有貨品的訂貨次數:$n_i = \dfrac{n}{m_i}$ ($OC = nS + \sum_{i=1}^{k}{n_is_i}$,$HC = \sum_{i=1}^{k}\dfrac{D_ihC_i}{2n_i}$) #### **Conclusion** 當個別運輸成本(相較於共同運輸成本)不大時,Complete aggregation較為方便快速。 當個別運輸成本(相較於共同運輸成本)較大時,Tailored aggregation可以節省開銷。 --- ### **Quantity Discounts** #### **All Unit Quantity Discounts** 所有單位都可以用折扣價買 計算每個區段的EOQ($Q_i$): * 當$Q_i$小於該區間的量,則$Q_i^* =$ 區間下界 * 當$Q_i$落在該區間的量,則$Q_i^* = Q_i$ * 當$Q_i$大於該區間的量,則$Q_i^* =$ 區間上界 並計算每個區段的$TC$,最後看哪個區間的$TC$最小,該區間的$Q_i^*$即為Optimal Lot Size。 $Q_i^*$較於沒有Quantity Discounts時的訂量大 → 鼓勵多訂 此外,因為$CI = \dfrac{Q}{2}$,$FT = \dfrac{Q}{2D}$,$Q$的增加亦導致Cycle Inventory與Flow Time增加 #### **Marginal Unit Quantity Discounts** 只有該區段的量可以用該區段的折扣價買 條件:在區段$(q_i, q_{i+1})$的量,單位成本為$C_i$ → 訂量$q_i$的成本$(V_i) = \sum_{k=1}^{i}{C_{k-1}(q_{k}-q_{k-1})}$ * $C \cdot Q = V_i + (Q-q_i)C_i$ (上一區段成本+訂量區段的成本) * $MC = C \cdot D = \dfrac{V_i + (Q-q_i)C_i}{Q} \cdot D$ * $OC = \dfrac{D}{Q} \cdot S$ * $HC = \dfrac{Q}{2} \cdot hC = \dfrac{h}{2} \cdot (V_i + (Q-q_i)C_i)$ * $Q_i = \sqrt{\dfrac{2D(S+V_i-q_iC_i)}{hC_i}}$ 計算每個區段的EOQ($Q_i$): * 當$Q_i$落在該區間的量,則計算$Q_i^* = Q_i$時的$TC$ * 當$Q_i$不落在該區間的量,則計算$Q_i^* =$ 區間上界與區間下界時的$TC$,取較小者 最後看哪個區間的$TC$最小,該區間的$Q_i^*$即為Optimal Lot Size。 #### **Conclusion** 1. Marginal相較All更能夠增加訂貨量 2. Quantity Discounts可以增加供應鏈的「整體」利益(個體利益可能變小) → Coordination #### **Coordination** 條件:假設$D=a-bp$,Supplier的單位成本為$C_S$,Supplier提供Retailer的單位價格為$C_R$。 目標:各自利益最大化,並求出此時的$C_R$與$p$。 * 若Supplier與Retailer不協商,則此時「整體」利益並未最佳化 * 若Supplier以成本價賣給Retailer,並另外索取Franchise Fee,則可提升「整體」利益。 → Supplier訂定好的Franchise Fee可以幫助其獲得更多利益 (Price Discrimination) * 若Supplier在「整體利益最佳化時的需求量」上提供Unit Discounts,則可促使Retailer調整價格提升「整體」利益。 #### **Forward Buying Decisions** 找出折價$d$後的最佳購買量$Q^d$使得TC最低 $Q^*$ = $EOQ$ $Q^d$ = $\dfrac{dD}{(C-d)h}+\dfrac{CQ^*}{C-d}$ Forward buy = $Q^d$ - $Q^*$ 零售商獲得$d$折扣後,若要維持其最高利潤,僅會給消費者折扣$\dfrac{d}{2}$ ## **存貨管理:安全存貨** ### **Safety Inventory** 當需求的不確定性高、需求被滿足的比例高,安全存貨也會提高。 #### **Demand Uncertainty** 假設總共有$k$期。每一期的需求是常態分布,第$i$期的平均需求$D_i$,標準差$\sigma_i$。 為了簡化問題,我們再假設: 1. 每一期的需求皆相同$(D_1=D_2=...=D_k=D)$ 2. 不同期彼此互相獨立$(\sigma_1=\sigma_2=...=\sigma_k=\sigma_D$ 且 $\rho=0)$ * 平均總需求量 $(P) = \sum_{i=1}^{k}{D_i}=kD$ * 標準差 $(\Omega) = \sqrt{\sum_{i=1}^{k}{\sigma_i^2+2\sum_{i>j}{\rho\sigma_i\sigma_j}}}=\sqrt{k} \cdot \sigma_D$ * 變異係數 $(CV) = \dfrac{\sigma}{\mu}$ → 需求穩定度 #### **Product Availability** * Product Fill Rate($f_r$):有多少產品需求被存貨滿足 * Order Fill Rate:有多少筆訂單被存貨滿足(一個訂單裡多個產品的需求都被滿足才算) * Cycle Service Level(CSL):有多少個週期滿足所有++訂單++需求 → 沒有stockout的機率 通常Order Fill Rate會大於Product Fill Rate,因為未滿足的訂單裡會有需求滿足。 同理,CSL會大於Order Fill Rate。 ![](https://i.imgur.com/hoDgeis.png) --- ### **Replenishment Policies** 在補貨時,我們須決定++何時補貨++以及++補多少貨++。 * SS:安全存貨 * Inventory Position(可運用存貨) $IP=OH+SR-BO$ * OH:現有存貨 * SR:與上游下訂,還在運輸的貨 * BO:已經接的訂單,還沒提交的貨 * Lead Time($L$):貨運所需時間 #### **Continuous Review (連續補貨系統)** 訂定++再訂貨點++$(ROP)$,當$IP<ROP$時,補$Q$單位的貨(定量不定時)。 * $CSL = Prob(Demand \ during \ lead \ time \ of \ L \ periods \leq ROP)$ (滿足需求的機率) * $D_L = D \cdot L$ * $\sigma_L = \sqrt{L} \cdot \sigma_D$ * $SS = z\sigma_L$ ($z$個標準差) * $ROP = SS + D_L$ 統計涵義:透過計算滿足需求的機率(常態分布圖形面積),計算$ROP$與平均需求$(D \cdot L)$相距幾個標準差,即為安全存貨。 若額外考量需求不確定性,即Lead Time亦為常態分布,標準差$S_L$,則: * $\sigma_L = \sqrt{L\sigma_D^2+D^2S_L^2}$ #### **Periodic Review (週期補貨系統)** 訂定++目標存貨量++$(OUL)$,每經過時間$T$補貨(定時不定量)。 → 用$EOQ$去推算$T$($T=\dfrac{EOQ}{D}$) 存貨需消耗$T+L$期,才會有下一批貨到來。 * $CSL = Prob(Demand \ during \ lead \ time \ of \ (T+L) \ periods \leq ROP)$ (滿足需求的機率) * $D_L = D \cdot (T+L)$ * $\sigma_L = \sqrt{T+L} \cdot \sigma_D$ * $SS = z\sigma_L$ ($z$個標準差) * $OUL = SS + D_L$ #### **Fill Rate($f_r$)** * Expected Shortage Per Replenishment Cycle $(ESC)=\int_{ROP}^{\infty}{(x-ROP)f(x)dx}$ 數學涵義:計算「比$ROP$大時,缺貨量乘以常態分布函數的圖形面積」。 * 化簡後得 $ESC=-SS[1-F_s(\dfrac{SS}{\sigma_L})]+\sigma_Lf_s(\dfrac{SS}{\sigma_L})$ $F_s$:累積機率 $f_s$:常態分布函數(機率密度函數) * $f_r = 1-\dfrac{ESC}{Q}$ #### **Conclusion** 當安全存貨$(SS)$增加時,$f_r$與$CSL$也會隨之增加。 當訂貨量$(Q)$增加時,$f_r$也會隨之增加,但是$CSL$不受影響。 若減少Lead Time$(L)$、供給不確定性$(S_L)$與需求不確定性$(\sigma_D)$,需要的安全存貨$(SS)$也會降低。 --- ### **Inventory Pooling** 將不同店家對產品的需求整合統一管理,可以降低安全存貨$(SS)$ * 當$\rho=0$時(店家彼此獨立運作),整合後的需求標準差$(\sigma_D^C)=\sqrt{\sum_{i=1}^{k}{\sigma_i^2}}$ * 當$\rho=1$時(店家完全不獨立),標準差$(\sigma_D^C)=\sum_{i=1}^{k}{\sigma_i}$ * 若$\sigma_1=\sigma_2=...=\sigma_k=\sigma_D$,則$\sigma_D^C=\sqrt{k}\sigma_i$ → 整合後,安全存貨$(SS)$會下降$\sqrt{k}$倍 越貴的產品,需求越不穩($CV$大) → 整合能節省更多成本 缺點:增加反應時間與運輸成本 → 設立衛星倉儲可減少反應時間 將不同商品的相同零件整合,或是延後客製化亦可降低安全存貨。 #### **Square Root Law** 當獨立運作的店家減少n個,SS便可以減少$\sqrt{n}$倍 #### **一些優化Inventory Pooling的方法** * Information Centralization:並不需要真的把貨物集中,資訊集中就好 * Specialization:依照貨物的搬運速度和價格決定要集中化/分散式存放 * Product Substitution:A,B產品若定位類似,視作A,B為同存貨 * Component Commonality:模組化零件共同管理 ### **長鞭效應** 解釋:越上游的廠商會因為需求資訊的放大而遭遇標準差極大的需求。 主要的產生因素: * 需求預測(Demand forcasting):下游不確定終端需求會多大,寧多誤少 →上下游分享需求資訊,共同計畫供應鏈管理庫存(VMI,Vendor Managed Inventory) * 前置時間(lead time) * 批量訂購(Batch order) * 價格波動(Price fluction) →建立EDLP策略、引入ABC系統 * 短缺賽局(Shortage gaming):下游廠商預期上游將會缺貨,過量訂貨確保自己有貨 ### **新零售概念** 解釋:就是高效率的零售 * 數據賦能強化場(零售)的效率 * 坪效革命強化人(消費者)的效率 * 短路經濟強化貨(商品)的效率 ![](https://i.imgur.com/k5yK7uc.jpg =50%x) D=設計、M=製造商、S=供應鏈(盤商)、B=大賣場、b=小賣場、C=消費者 * 短路經濟:縮短環節、鍊條反向(B2C變成C2B) * M2B:好市多直接從製造商買商品,跳過S * C2B、C2M:紅領從消費者得到身材數據,直接作客制化衣服,跳過S,B,b

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully