Я пытаюсь узнать Юлию с проблемами оптимизации. Я пытался решить проблему с расписанием. Вот вопрос, который я хочу решить с помощью библиотеки Cb c. - Есть 6 периодов времени, 10 семинаров, 5 спикеров, 15 аудиторий и 4 конференц-зала.
Какой докладчик предлагает, какой семинар представлен в виде матрицы (5x10) Speaker
, и какая аудитория примет участие в том, какой семинар показан в приведенной ниже матрице Audience
:
Speaker = [1 1 0 0 0 0 0 0 0 0;
0 0 1 1 0 0 0 0 0 0;
0 0 0 0 1 1 0 0 0 0;
0 0 0 0 0 0 1 1 0 0;
0 0 0 0 0 0 0 0 1 1 ];
Audience = [1 1 0 1 0 0 0 0 0 0;
0 0 1 0 1 0 0 1 0 0;
0 0 1 0 1 0 0 1 0 0;
0 0 1 0 1 0 0 1 0 0;
0 0 1 0 1 0 0 1 0 0;
1 1 0 1 0 0 0 0 0 0;
0 0 0 0 0 1 1 0 0 1;
0 0 0 0 0 1 1 0 0 1;
0 0 0 0 0 1 1 0 0 1;
1 1 0 1 0 0 0 0 0 0;
1 1 0 1 0 0 0 0 0 0;
0 0 0 0 0 0 1 0 1 1;
0 0 0 0 0 0 1 0 1 1;
0 0 0 0 0 0 1 0 1 1;
0 0 0 0 0 0 1 0 1 1];
numberOfSeminar = 10; # Number of seminars
numberOfAudience = 15; # Number of audience
numberOfSpeakers = 5; # Number of speakers
numberOfTimePeriods = 6; # Number of time periods
numberOfRooms = 4; # Number of conference room
using JuMP, Cbc
model = Model(with_optimizer(Cbc.Optimizer))
@variable(
#CONSTRAINTS
#1.In a time and place, at most one seminar will be schedule.
@constraint()
#2. All seminars get two time periods.
@constraint()
#3. A seminar cannot be scheduled to two different conference room at the same time (no sections)
@constraint()
#4. A speaker cannot be in two different seminar at the same time
@constraint()
#5. A audience cannot be in two different seminar at the same time
@constraint()
I Также не могу настроить свою модель. Я знаю, что нужны некоторые ограничения, и в конце кода я должен оптимизировать его с помощью
optimize!(model)
Кстати, можно ли распечатать расписание после оптимизации? Там в любом случае? Я хочу распечатать результат.