2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Маленький вопрос о задаче о рюкзаке
Сообщение26.04.2016, 19:44 


03/08/15
114
Предположим задан вес рюкзака 5000 единиц. Каждый предмет можно загружать неограниченное кол-во раз.
Заданы определенный предметы с их ценами. Допустим имеется два алгоритма. Оба нашли одинаковую максимальную стоимость, но первый выдал что результирующий вес рюкзака при этом будет 5000, а второй что 4500. Хотел спросить, существенно ли чтобы при этом вес рюкзака должен быть как можно меньше, или главное максимизация стоимости? Т.е например при решении задачи с помощью динамического программирования ищется только макс. стоимость , но метод как бы не заботится чтобы и вес был как можно меньше. Т.е получается что меньший вес просто предподчительней, но не главное?

 Профиль  
                  
 
 Re: Маленький вопрос о задаче о рюкзаке
Сообщение26.04.2016, 19:53 
Заслуженный участник


20/08/14
11776
Россия, Москва
Это просто две разные задачи, с разным условием оптимизации. В одной вес не важен, во второй важен. Можно решать как первую, так и вторую, при этом решения могут и одинаковыми и разными. Можно даже последовательно решать, сначала первую (без учёта веса), а потом эквивалентными заменами (по первому параметру) улучшать второй параметр. В этом случае решение будет не оптимально, зато быстрее.

 Профиль  
                  
 
 Re: Маленький вопрос о задаче о рюкзаке
Сообщение27.04.2016, 18:08 


03/08/15
114
Получается если нужно найти максимальную стоимость рюкзака и при этом получить как можно меньший его вес, то это задача становится двухкритериальной? А есть ли методы которые одновременно решают эти две задачи? Ну методом динамического программирования ето уж точно не решить)

 Профиль  
                  
 
 Re: Маленький вопрос о задаче о рюкзаке
Сообщение27.04.2016, 19:08 
Заслуженный участник


20/08/14
11776
Россия, Москва
Честно говоря я отвратительно помню теорию, но обычно два критерия можно свести в один какой-нибудь подходящей формулой (сумма там, или их произведение или ещё что) и дальше всё как раньше. Потому что оптимизация по нескольким критериям неоднозначна. А придание совокупности критериев однозначности (или приоритетов) как раз и сводит критерии в одну формулу.
Но лучше подождать кого более сведущего в теории.

 Профиль  
                  
 
 Re: Маленький вопрос о задаче о рюкзаке
Сообщение27.04.2016, 20:06 
Заслуженный участник
Аватара пользователя


18/01/13
12065
Казань
Пока ждем специалистов,выскажу соображения здравого смысла.
Есть еще один способ: для всех критериев, кроме одного, вводятся границы допустимых значений, а по одному оптимизируют. Ну, и еще можно оптимизировать последовательно: вдруг с одной ценой есть несколько заполнений рюкзака? Тогда можно выбрать из них наибольший по массе. Или наоборот, среди самых "тяжелых" найти самый дорогой.

 Профиль  
                  
 
 Re: Маленький вопрос о задаче о рюкзаке
Сообщение27.04.2016, 20:22 
Заслуженный участник


20/08/14
11776
Россия, Москва
Пока ждём, уточню немного свои слова.
Даже отвлекаясь от сложности его поиска, далеко не всегда существует глобальный оптимум сразу по всем критериям, намного чаще оптимума достигает лишь один критерий из всех, и эти оптимумы не совпадают для разных критериев (самый дорогой рюкзак слишком тяжел, а самый лёгкий слишком дешевый). Потому и приходится ещё на этапе постановки задачи решать какой из критериев важнее и либо оптимизировать сначала по нему, а дальше как получится, или добавлять остальные критерии в виде малых поправок к основному и оптимизировать по результирующему сборному критерию, надеясь что решение будет достаточно оптимальным и по основному, и по всем прочим критериям. Потом можно пытаться улучшать решение. Вот и не уверен что существуют методы многокритериальной оптимизации. Точнее они конечно существуют, но не гарантируют нахождение глобального оптимума (который, повторю, часто и не существует).

 Профиль  
                  
 
 Re: Маленький вопрос о задаче о рюкзаке
Сообщение27.04.2016, 21:25 
Заслуженный участник
Аватара пользователя


09/09/14
6328
damir_777
Вы посмотрите литературу по задаче о рюкзаке. Это большой класс задач, которые изучаются при самых различных постановках. Конечно, Dmitriy40 прав -- решение о том, какие критерии оптимизации нас интересуют, принимается на этапе постановки задачи. Легко представить ситуацию, когда алгоритм, выдающий 5000 будет лучше, чем алгоритм выдающий 4500; и ещё легче -- наоборот.

Кстати, поделюсь (английской) ссылкой на лучшее, что мне попадалось по теории для этой задачи. Может, кому пригодится.

(Оффтоп)

Если тема не повернёт в математическую сторону, я попрошу модераторов перенести её в CS -- там смогут её увидеть специалисты.

 Профиль  
                  
 
 Re: Маленький вопрос о задаче о рюкзаке
Сообщение28.04.2016, 13:32 


03/08/15
114
Спасибо
Да теперь понимаю, что многое зависит от поставленных задач.
Да кстати , если брать задачу одномерного раскроя, когда заданы оценки и длины заготовок, то выдача большего веса означает большее покрытие разрезаемого материала, и соответственно меньший отход.
В других задачах о какой нибудь загрузке чего-нибудь, где желательно меньший вес то оптимизировать нужно и по весу

-- 28.04.2016, 15:33 --

Спасибо
Да теперь понимаю, что многое зависит от поставленных задач.
Да кстати , если брать задачу одномерного раскроя, когда заданы оценки и длины заготовок, то выдача большего веса означает большее покрытие разрезаемого материала, и соответственно меньший отход.
В других задачах о какой нибудь загрузке чего-нибудь, где желательно меньший вес то оптимизировать нужно и по весу

 Профиль  
                  
 
 Re: Маленький вопрос о задаче о рюкзаке
Сообщение28.04.2016, 14:05 


08/05/08
600
damir_777 в сообщении #1118706 писал(а):
Получается если нужно найти максимальную стоимость рюкзака и при этом получить как можно меньший его вес, то это задача становится двухкритериальной? А есть ли методы которые одновременно решают эти две задачи? Ну методом динамического программирования ето уж точно не решить)

А в чем вообще проблема?
Кажется при решении задачи о рюкзаке строятся решения для всех рюкзаков объема меньших, чем заданный
Там же строится функция (таблица) от 2х аргументов (k,m): 1. используя предметы от 1..к 2. для рюкзака объемом m
И к моменту расчета нужного значения. все предыдущие значения уже расчитаны
А значит учесть 2й критерий очень прсто

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: StudentV


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group