Имя: Пароль:
1C
 
Похоже на задачу линейного программирования
Ø
0 Ferrum
 
30.12.05
10:13
Собственно есть N-накладных,Sj- сумма j-й накладной.
Mi- количество i-го товара, Сi-цена i-го товара.
Сумма Sj=Сумме Mi*Ci
необходимо разложить товары по накладным если такое возможно.
Ктонить подскажет алгоритм?
1 Uho
 
30.12.05
10:15
Эксель+поиск решения :)))
2 Ferrum
 
30.12.05
10:31
а если серьёзно? :)
в 1с?
да и в экселе бы не отказался :) как это можно сделать :)
3 zak
 
30.12.05
10:35
Ищи решение "задачи о рюкзаке".
4 корум
 
30.12.05
10:37
+(3) в виде отчёта от NSа
6 vS
 
30.12.05
11:00
я так понимаю, что ему надо в имеющиеся номера и суммы накладных впихнуть черный товар :) чтобы сумма совпала :)
однако, методом пузырька попахивает?
7 Ferrum
 
30.12.05
11:03
2(3,4) - в яндексе пусто, на форуме тож :(
2(6) - правильно :) пузырёк помоему не пойдёт
8 Бит
 
30.12.05
11:10
(7)
http://www.yandex.ru/yandsearch?text=класс+переборных+задач&stype=www
9 Пьер
 
30.12.05
11:10
Если количество только целочисленное (штуки, упаковки) то классическая задача о ранце (рюкзаке), если может быть дробным, то решается элементарно (наподобие гашения по партиям), хотя лучше бы сделать какое-нибудь нормальное распределение у выборки перед тем как размазывать по накладным, чтобы не получилось, что в начале месяца торговали позицией А, в середине Б, в конце В.
10 LubK
 
30.12.05
11:12
Точного решения, если товар неделимый может не существовать.
Например, если все цены парные, непарной суммы не получиш.
А вообще находиш количества i товара xij по цене ci для j накладной
из условия минимума
 (сума по i xij*cij - sj)**2
т.е. получаеш j систем линейных уравнений
11 iogri
 
30.12.05
11:34
Посмотри алгоритм для "одного рюкзака" здесь:
http://forum.vingrad.ru/index.php?s=c79d0d97ff629288b4d414e5a5d5510e&showtopic=49953
Если применить его начиная с маленьких по сумме накладных, велики шансы добраться до решения, если оно в принципе существует.
12 angro
 
30.12.05
11:53
Если в Excel -е то воспользуйся действительно поиском решений, а так почитай симплекс метод
делаешь уранения типа СуммаНакладной= колвотовар1*ценатовар1+колвотовар2*ценатовар2 ...
и ограничения
колво - целое,
сумма(колвотовар1)<=остатоктовар1 ...
13 NS
 
30.12.05
13:01
Например - ищи мои посты...
http://forum.mista.ru/topic.php?id=129178
14 AAAChel
 
30.12.05
17:34
(0)а почему именно такая постановка? в чем физика явления?
15 pvase
 
30.12.05
19:39
(14) Есть количество накладных (записей где=то, может в каком то журнале), и есть сумма каждой накладной.
Никакая это не задача лин. программирования. Так как связи между сумами накладных нет, то получается метод тупого подбора:
Для j = 1 по N Цикл // Цикл по накладным
   Для i = 1 По M Цикл // Цикл по товарам
Только вся проблема в том, что цену надо точно побобрать, но здесь снова метод тупого беребора.
Ну и для того чтобы не впихивать постоянно одни и теже товары - то таблицу товаров стоит сделать с весовыми коефициентами, и изментья их от количества заполнений в накладных (ну и выбирать по весовым окефициентам).
ЗЫ
Только все равно, наверное придется писать функцию равномерного распределения (можно взять втсроеный RANDOM) и подбирать товар случайно с подходящей ценой.
16 NS
 
30.12.05
20:03
(15) Ошибаетесь - задача о подборе заданной суммы ДИСКРЕТНО (количество товара не может быть дробным) - является задачей о рюкзаке, задачей ЛИНЕЙНОГО программирования. Решается она полным перебором. Обычно используется НАПРВЛЕННЫЙ перебор, одним из вариантов которого является Симплекс-метод.
17 pvase
 
31.12.05
00:42
(16) В Условии не указано что Кво товара не может быть дробным, но и линейным тоже быть не может, все равно должны быть дискретные величини.
ЗЫ
Что то о такой задаче "о рюкзаке" в теории исследований операций не помню (хотя учил эту дисциплину на 3 и 4 курсах). Это что то новое, или может задача как то по другому называлась?
18 AAAChel
 
31.12.05
00:58
(17)задача о ранце (рюкзаке)см (9), давно очень правда читал))
(14)хорошо Вы задачу описали: есть суммы и есть количества записей. Это и из заголовка ясно
Почему надо на точные суммы и почему цены неизвестны, ведь это цены поставщиков или цены реализации.
19 Темный Эльф
 
31.12.05
00:59
(17) - ты вроде не новичок, чтобы тебя на Яндекс посылать...
http://lib.custis.ru/index.php/Задача_о_рюкзаке
http://alglib.sources.ru/combinatorial/backpack.php
http://www.np-soft.ru/npproject/projects/int/knapsacks/knapsacks.htm
http://www.iai.donetsk.ua/general/ai_annot.php3?a=915&m=30&l=r
20 Ferrum
 
03.01.06
12:17
(19)Глянул ссылки.
вот именно задача об М-рюкзаках и интересует, всё остальное - это вопрос как заполнить 1 рюкзак.