cari

Rumah  >  Soal Jawab  >  teks badan

ruby - Bagaimana untuk melaksanakan pemilihan gudang keutamaan alamat penerima dan gudang penghantaran dalam PHP

Hari ini saya akan bertanya soalan teknikal tentang keutamaan pemilihan gudang produk, alamat penghantaran dan gudang penghantaran.

Seperti dalam tajuk:

  1. Pengguna membeli tiga produk: A, B dan C (boleh dianggap pengguna membeli n produk SKU, dan setiap SKU mempunyai kuantiti yang sepadan Kami menggunakan huruf besar untuk SKU produk: A, B, C;

  2. Alamat penghantaran ialah X ;

  3. Setiap produk mempunyai berbilang gudang, dan penghantaran gudang yang paling terkini dan optimum dipilih (keutamaan dikonfigurasikan mengikut alamat penghantaran), contohnya, gudang ialah: a, b, c, d (gudang diwakili oleh huruf kecil surat), dsb.;

Logik keutamaan:

Barang yang dibeli oleh pengguna boleh dihantar dari gudang Lebih kecil bilangan pakej, lebih baik (utama), dan lebih dekat pakej, lebih baik (sekunder);

.

Alamat penghantaran ialah X, senarai keutamaan gudang yang sepadan dengan alamat X:

X => a,b,c,d

Contoh:

Contoh 1. Pengguna membeli 1 sku (kuantiti ialah 3) dan menghantarnya ke alamat X yang sepadan:


A: 3

A Inventori dan kuantiti yang sepadan dengan produk ini: Pesanan yang sepadan dengan alamat X ialah: a, b, c, d

Senarai gudang dan inventori yang sepadan:

 a: 1
 b: 3
 c: 4
 d: 5

Mengikut prinsip pakej minimum ke gudang terdekat, hasilnya akan ditolak dari inventori gudang B (3 item produk A) untuk menghantar 1 pakej.


Contoh 2. Pengguna membeli 2 skus dan menghantarnya ke alamat X yang sepadan:

A: 3
B: 2

Inventori dan kuantiti yang sepadan dengan produk A dan B ini: (Tempahan yang sepadan dengan alamat X ialah: a, b, c, d)

Senarai gudang dan inventori yang sepadan:

 a: 1
 b: 3
 c: 4
 d: 5

B senarai gudang dan inventori yang sepadan:

 a: 1
 b: 2
 c: 1
 d: 5

Mengikut prinsip pakej minimum gudang terdekat, hasilnya juga perlu ditolak dari gudang b (3 produk A, 2 produk B) menyimpan dan menghantar 1 pakej.


Contoh 3. Pengguna membeli 2 skus dan menghantarnya ke alamat X yang sepadan:

A: 3
B: 2

Inventori dan kuantiti yang sepadan dengan produk A dan B ini: (Tempahan yang sepadan dengan alamat X ialah: a, b, c, d)

Senarai gudang dan inventori yang sepadan:

 a: 3
 b: 3
 c: 1
 d: 5

B senarai gudang dan inventori yang sepadan:

 a: 1
 b: 1
 c: 2
 d: 1

Mengikut prinsip gudang terdekat pakej minimum, hasilnya juga harus menolak gudang a (3 item produk A, 1 item produk B), tambah gudang b (1 item produk B), dan menghantar sejumlah 2 pakej ( gudang a dan gudang b) Setiap satu) (Di sini kami juga mematuhi prinsip mempunyai beberapa pakej terbaik dan gudang terdekat).


Contoh 4, pengguna membeli 2 skus dan menghantarnya ke alamat X yang sepadan:

A: 3
B: 5

Inventori dan kuantiti yang sepadan dengan produk A dan B ini: (Tempahan yang sepadan dengan alamat X ialah: a, b, c, d)

Senarai gudang dan inventori yang sepadan:

 a: 2
 b: 3
 c: 4
 d: 5

B senarai gudang dan inventori yang sepadan:

 a: 1
 b: 1
 c: 2
 d: 5

Mengikut prinsip pakej minimum gudang terdekat, hasilnya juga perlu ditolak dari gudang d (3 item produk A, 5 item produk B), dan sejumlah 1 paket (satu paket di gudang d) hendaklah dihantar . Prinsip bilangan minimum pakej dicapai di sini


Saya berani bertanya, bagaimana sesetengah pakar boleh memecahkan algoritma ini?

怪我咯怪我咯2749 hari yang lalu935

membalas semua(1)saya akan balas

  • 学习ing

    学习ing2017-06-27 09:20:02

    Ini yang saya fikirkan, mula-mula susun tatasusunan sku dalam tertib menurun, contohnya, 3 keping sku, tatasusunan(8,4,1);
    Dapatkan pelan pakej optimum masing-masing 8 keping, 4 keping dan 3 keping ,
    kemudian letak Dengan menggabungkan syarat gudang ketiga-tiga pelan ini dan mengalih keluar duplikasi, anda boleh mendapatkan pelan yang optimum.

    balas
    0
  • Batalbalas