Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ищу алгоритм составления расписания 
:(
    Опции темы
rusbuy
Дата 17.2.2005, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если хочешь, чтобы в программе было всё так, как тебе надо - делай сам smile
Или человеку всё очень подробно объясняй. Чтобы он понял и сделал её.
PM MAIL   Вверх
Marriage
Дата 17.2.2005, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Данные в файле хранить ????


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
_hunter
Дата 17.2.2005, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



а какая разница?
( пусть, для удобства, в базе )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
maxim1000
Дата 17.2.2005, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



тогда не помешало бы разделить требования на две части:
1. обязательные
2. желательные
(1) - при невыполнении хотя бы одного расписание считается невыполнимым
(2) - используются для выбора среди нескольких выполнимых расписаний

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


Это сообщение отредактировал(а) maxim1000 - 17.2.2005, 20:33


--------------------
qqq
PM WWW   Вверх
Marriage
Дата 17.2.2005, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Предлагаю так
таблица или файл

Время Дата ЧемЗанято СвободноВремя
8,30 17,02,2005 (перемена,лекция) Да/Нет

Составляешь сначала просто расписание для аудитории С датой и временем,
потом если СвободноВремя = да, то делаешь вставку чем занято, если нет, то не вставляешь ...


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
mvdr
Дата 18.2.2005, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


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

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



насколько я знаю, расписание - ручное дело, и составлять его автоматически - дело не хорошее (надо учитывать человеческий фактор преподавателей ).

Но если надо и хочется, то предлагаю свой вариант:

Есть аудитории, в которых может проходить только практика, только лабораторные работы и лекционные. - т.е. создается база аудиторий с указанием их типов (Л, П, ЛАБ). Будет примерно так:
1-01-Л
1-02-П
1-03-ЛАБ...

Вторая база - ВРЕМЯ ЗАНЯТИЙ - имеет начало и конец ( например, 8:30-10:00 ), если время жестко фиксировано по парам, то можно использовать номера пар (1,2,3...).

Третья база - ПРЕДМЕТЫ, у их названия надо ставить их тип ( Л,П, ЛАБ).

Приоритетность ставить в виде условий.
Сачала распихивает лекции по лекционным аудиториям, потом - лабораторные занятия, потом практики. т.е. ставим условия: если ПРЕДМЕТ1_ТИП = Л то запихиваем его в аудиторию с типом Л. ( все аудитории можно раставить в убывающем порядке по значимости - всяко какая то лучше, какая то хуже )
Аналогично все остальные предметы - смотрим на тип предмета, сортируем для него аудитории по его типу, выбираем номер пары (время занятий).
Надо еще проверять условия: (например)
1) не ставить 2 лекции подряд
2) не ставить после предмета1 педмет2
и т.д.

Вроде так, но это на скорую руку. Если что - меня всегда можно найти. smile


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


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

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


 




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


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

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