
Quero usar o Excel Solver para otimizar a programação de uma conferência. O objetivo final é que cada sessão da conferência seja tematicamente coerente e as sessões sejam agrupadas por assunto.
Criei uma situação hipotética em que tenho 20 trabalhos de pesquisa para dividir em 5 sessões, com 4 artigos por sessão cada. 5 assuntos são abordados, cada um por 4 dos trabalhos de pesquisa.
A planilha Excel que criei se parece com esta.
Tentei usar o Excel Solver para descobrir a configuração ideal em que uma sessão cobriria todos os artigos com o assunto 1, a próxima sessão todos os artigos com o assunto 2 e assim por diante.
As células I25:M29 mostram quais tópicos são abordados em uma sessão.
No momento, o objetivo é maximizar $N$30. Isso soma as células I30:M30, que conta se um dos assuntos em uma sessão soma 4, por exemplo, CONT.SE(I25:I29,4).
Isso é feito alterando as Células Variáveis I2:M21, que é uma variável binária para cada artigo a ser alocado em uma sessão.
Restrições que inseri:
- Os trabalhos por sessão não deverão exceder o máximo de 4
- I2:M21 são binários
- Cada artigo deverá ser alocado em uma sessão, ou seja, N2:N21 = 1
O problema é: não consigo fazer isso funcionar corretamente. Eu tentei várias opções, por exemplo, evolucionária, GRG não linear, mas nenhuma delas deu a solução óbvia, que é esta:
O que você acha disso, quais parâmetros do Solver me guiariam nessa solução?
Responder1
Na verdade, eu meio que descobri como fazer isso funcionar.
- $N$30 deve ser a soma de todas as disciplinas, o que soma 20 (e na verdade permite programação linear)
- Devem ser inseridas restrições para que cada sessão tenha 1 tópico informando que o assunto deve ser igual ao número máximo de vagas por sessão, $I$26 = $I$23, $J$27 = $J$23, etc.
Visualmente:
Porém, quando eu quiser adicionar muito mais sessões, isso se tornará bastante trabalhoso, então quaisquer alternativas ainda serão muito bem-vindas!