Семинар Планирование задач моделирования - Юлия - PullRequest
3 голосов
/ 09 января 2020

Я пытаюсь узнать Юлию с проблемами оптимизации. Я пытался решить проблему с расписанием. Вот вопрос, который я хочу решить с помощью библиотеки 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)

Кстати, можно ли распечатать расписание после оптимизации? Там в любом случае? Я хочу распечатать результат.

...