Saya memiliki 2 masalah ini untuk dipecahkan (pada gambar).
Saya memiliki 9 toko yang menginginkan jumlah produk yang berbeda. Toko pertama meminta 62 unit, yang kedua 10 unit, dll.
Pemasok mengirim total 138 unit (kasus 1). Saya harus mendistribusikan 138 unit itu ke semua toko secara adil. Setiap kotak yang dikirim dari pemasok memiliki 2 unit dan lebih baik menggunakan kelipatan 2 unit untuk setiap toko, sehingga tidak perlu membongkar kotak itu. Jika tidak memungkinkan, kita dapat membongkar kotak tetapi hanya dalam kasus terakhir.
Dalam kasus 2, ada beberapa toko yang mendapatkan kurang dari yang mereka minta. Tidak apa-apa. Saya hanya perlu mendistribusikannya secara adil sehingga satu toko tidak mendapatkan apa-apa dan yang lain tidak mendapat apa-apa.
Saya memiliki cara untuk melakukan ini tetapi ini sangat kompleks dan penuh kesalahan jadi saya mencoba mencari cara yang lebih mudah seperti formula atau sesuatu.
Apa yang saya lakukan adalah (saya akan memberikan contoh untuk baris pertama dan Case2):
- Memberikan kotak untuk setiap toko sehingga tidak ada risiko memiliki satu toko yang tidak menerima apa pun.
- Hitung: NecessityByPriority = Necessity-1box = 62-2 = 60
- Hitung: PriorityEachStore: 60 / jumlah (NecessityByPriority) = 60/72 = 83,3333%
- Hitung: PriorityUnits = PriorityEachStore * (Stok-9box) = 83,3333% * (58-18) = 33,3333 [kotak 9 berhubungan dengan jumlah unit yang diberikan pada langkah pertama: masing-masing 9 toko * 2 unit]
- Hitung: NumberBoxes = round (PriorityUnits / (Unit / box)) = round (33,3333 / 2) = 17
- Hitung: NumberUnits = NumberBoxes * (Unit / box) = 17 * 2 = 34
- Hitung jumlah akhir: NumberUnits + 1 kotak [diberikan pada langkah 1] = 34 + 2 = 36
Dalam kasus yang diberikan tidak ada kesalahan besar tetapi saya akan menunjukkan kepada Anda satu dengan kesalahan di atas dalam simulator yang telah saya lakukan di Excel:
Di sini ada 3 unit yang tersisa. Ini karena pembulatan. Saya dapat menambahkan baris untuk memverifikasi jika ada sesuatu yang tersisa dan jika demikian untuk mendistribusikan kembali. Tetapi saya sedang mencari cara yang lebih mudah tanpa semua formula ini.
Saya memiliki proses lain yang menghitung dengan rumus yang sama, semuanya untuk toko pertama. Kemudian buat iterasi ke-2 dan hitung ulang semuanya kecuali toko pertama. Dan terus sampai tidak ada lagi toko. Masalahnya adalah di sini hanya ada 9 toko tetapi terkadang ada ratusan.