Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм по оптимизации 
:(
    Опции темы
Cyberholic
Дата 1.8.2011, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток!

У меня стоит задача составить алгоритм, решающий описанные ниже задачи. К сожалению, я очень мало об этом знаю и пока в самом начале пути и подумала может знающие люди смогут подсказать направление.
СПАСИБО ОГРОМНОЕ заранее!

Итак задача:
Получить наибольшее непрерывное количество свободного пространства в ряду на полках с минимальным количетсвом шагов (перестановок книг на полке или с полки на полку), показать вариант (как выглядит полка, какие книги где) с мин количеством шагов, с кол шагов min-1, min-2 и т.д. 
Данные: Шкаф с полками и книгами на одном ряду. Надо максимизировать количество свободного пространства в РЯДУ (несколько полок). Есть несколько типов книг: роман, детектив и приключения. Роман нельзя перемещать, они должны остаться на своих местах. Все остальные можно свободно перемещать. Расстояние на полках и размер книг измеряем в миллиметрах. 

Опция: отдавать предпочтение перемещению книг одного и того же автора, что бы они стояли рядом... 

Вот так вот...
Спасибо за помощь!
PM MAIL   Вверх
afiskon
Дата 1.8.2011, 04:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 31.3.2011
Где: Россия, Москва

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



Условия совершенно невнятные, но похоже на вариацию задачи оптимизации (линейного или целочисленного программирования - повторюсь, условия невнятные). Алгоритмы решения таких задач давно расписаны, можно, например, их в вики найти.
PM MAIL WWW   Вверх
Lipetsk
  Дата 1.8.2011, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


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

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



По-моему все просто:
смотрим сколько всего есть свободных мест, ищем на полках место под это количество, чтобы там было побольше свободного места и с этого места книги убираем с учетом предпочтения
PM   Вверх
_Y_
Дата 4.8.2011, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Что-то мне напоминает дефрагментацию жесткого диска. Даже системные файлы романы имеются smile Может алгоритмы дефрагментации и посмотреть?


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Cyberholic
Дата 16.8.2011, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Soglasna! Pohozhe na defragemntaciyu diska, s odnoi raznicei--mne nuzhno minimalnoe kolichestvo shagov. Zdes nuzhna funkciya kakaya-nibud?
Ya iskala slovesnie algortimi defragmentacii diska, no nochego ne nashla v internete. Ne podskazhete gde mozhno poiskat?

SPASIBO!
Ochen ochen nuzho!

Добавлено через 3 минуты и 3 секунды
Цитата(afiskon @ 1.8.2011,  04:37)
Условия совершенно невнятные, но похоже на вариацию задачи оптимизации (линейного или целочисленного программирования - повторюсь, условия невнятные). Алгоритмы решения таких задач давно расписаны, можно, например, их в вики найти.

Skazhite pozhaluista, kakie imeeno uslaviya neponyatni, ya poprobuyu obyasnit po drugomu...
Ya, esli chestno, absolyutno v etom novichek, smotrela v wikipedia, no ne nashla reshenie podobnih zadach. Esli vi imeete vvidu chto-to konkretnoe, daite ssilku pozhaluista...
SPASIBO!

Это сообщение отредактировал(а) Cyberholic - 16.8.2011, 23:04
PM MAIL   Вверх
_Y_
Дата 18.8.2011, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Cyberholic, к сожалению, конкретно алгоритмами дефрагментации я не занимался. Ничего определенного подсказать не могу. Просто высказал идею. Но дефрагментаторы точно бывают быстрые и медленные и при разработке это их свойство, судя по всему, учитывается как-то.

Зы: Руглишь читать сложно. Слева-внизу есть галочка. Помогает если у Вас нет русской клавиатуры. 


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Cyberholic
Дата 22.8.2011, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



С оптимизацией я более менее разобралась. Вот никак не соображу следующее:
Если есть начальный вид полки с книгами и конечный вид полки с оптимизированным пространством как найти минимальное количество перестановок книг за которое можно получить данный конечный результат???
PM MAIL   Вверх
Lipetsk
Дата 23.8.2011, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


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

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



Cyberholic, а вам именно количество или алгоритм нужен?

если алгоритм, то тут все просто:
1. переставляете только книги, которые не на своих местах, а их новые места свободны
2. когда такие кончаются, т.е. остаются книги не на своих местах, но новые места для них заняты, то переставляете одну из таких книг на свободное место (желательно на то, которое будет свободно и в конечной расстановке) и переходите к пункту 1
PM   Вверх
_Y_
Дата 23.8.2011, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Cyberholic @  22.8.2011,  23:00 Найти цитируемый пост)
минимальное количество перестановок книг за которое можно получить данный конечный результат

А нельзя ли нарисовть эту систему перестановок в виде графа и искать кратчайший путь в графе?


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


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

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


 




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


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

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