У меня есть проблема с функцией оптимизации для создания документа НАЛОГ БЕСПЛАТНО.Задача оптимизации
Я добавляю позиции для заказа с: именем, ценой, весом и цифрами (количество).
Как:
product = array();
product[0] = array('name'=>'product_a','price'=>32.00,'weight'=>5.23,'numbers'=>100);
product[1] = array('name'=>'product_b','price'=>22.00,'weight'=>2.23,'numbers'=>140);
product[2] = array('name'=>'product_c','price'=>12.10,'weight'=>3.03,'numbers'=>150);
product[3] = array('name'=>'product_d','price'=>5.12,'weight'=>4.03,'numbers'=>10);
product[4] = array('name'=>'product_e','price'=>52.22,'weight'=>5.13,'numbers'=>22);
Нет от этого позиции я должен генерировать наименьшую документ TAX FREE. В одном документе у меня может быть сумма веса макс. 50 и сумма 2000 (цена за один элемент. Если у меня есть результат 100, цена 100 *).
Так что мне нужно взорвать позицию и создать новый документ с наименьшим количеством. Когда я использую только 10 элементов (все 100), я должен добавить 90 элементов в следующие документы.
Может ли кто-нибудь помочь мне в этом? Какой алгоритм я должен использовать? Может кто-то сказал мне шаг за шагом. Как это сделать?
Вы можете поделиться с вами тем, что вы попробовали? –
Я пробовал sord индивидуальное положение (когда у меня есть числа 20 Я меняю его как 20 позиций с ценой, весом) Далее я сортирую эти данные по весу и цене. Затем я стараюсь принимать самые высокие значения и дополнять меньшие. – marczak
Ваши объяснения не очень понятны. Вы пытаетесь сделать пакеты, где пакет 'weight <= 50' и' price <= 2000'? Каковы позиции заказа? Вам нужно следить за порядком или вы можете создавать пакеты случайно, чтобы иметь самый эффективный пакет с продуктами? –