Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм размещения данных с тремя параметрами, Алгоритмы размещения 
:(
    Опции темы
dials
Дата 26.1.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.1.2006

Репутация: нет
Всего: нет



Может быть кто-то сможет помочь в создании алгоритма...
Вход:
m - количество блоков.Каждый блок имеет свой размер
n - ролик(размер)
k - некий параметр ролика, который изменяется в зависимости от предыдушего размещения в блоке.

Известно, что для каждого блока m, есть возможность размещения некоторых роликов n:

У нас есть допустим ролики вида: n1(5 байт),n2(6 байт),n3(10 байт),n4(15 байт),n5(3 байта)

Тогда:

Номер блока(m) |Размер блока |Допустимые ролики для блока
1 |15 |n1,n3,n4
2 |26 |n2,n1,n4
3 |30 |n1,n4,n5,n3

Выход:
Необходимо разместить в каждом блоке m(i) набор роликов так, чтобы сумма размера роликов максимально стремилась к размеру блока(т.е. Summ(набора роликов)<=Размер блока)
Т.е. для m1(15)=n1,n3 или n4

Доп.условие:
Параметр k: Каждый ролик имеет данный параметр, он означает сколько раз может ролик появлятся в блоках:
Если для n1 k=1 значит, что если этот ролик появился в блоке m=1, он более не может появится нигде.
Если для n1 k=3 значит, что этот ролик может появится не более 3х раз.

Такая задача...

Насколько я понимаю это NP-полная задача...Простым, тупым перебором решать её нереально по времени,т.к. m - порядка 20, n - порядка 1000.




PM MAIL   Вверх
Akina
Дата 26.1.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Это - типичная "задача о рюкзаке". Наполнение кучи рюкзаков (блоки) кучей предметов (ролики).




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
dials
Дата 26.1.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.1.2006

Репутация: нет
Всего: нет



Цитата(Akina @ 26.1.2006, 11:52)
Это - типичная "задача о рюкзаке". Наполнение кучи рюкзаков (блоки) кучей предметов (ролики).

Не совсем.
Это была бы типичная задача, при условии, что у нас есть m - блоков и n - ролики.
Но у нас есть ещё у каждого ролика k - количество появлений ролика в наборе блоков([не больше, не меньше, точно] раз).
Поэтому, при наполнении блоков, необходимо учитывать ещё и параметр k.
Как в таком случае быть?

PM MAIL   Вверх
Akina
Дата 26.1.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Все это не влияет. Форма предметов и даже количество измерений - тоже не влияет. Основа одна и та же.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
podval
Дата 26.1.2006, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Цитата(dials @ 26.1.2006, 14:26 Найти цитируемый пост)

Поэтому, при наполнении блоков, необходимо учитывать ещё и параметр k.
Как в таком случае быть?


Это всего лишь параметр кратности. Дополнительное ограничение.
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0717 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.