Dada a restrição de troca, o que você está realmente perguntando é: Entre todos os reordenamentos de um conjunto de valores, qual permutação desses valores minimiza a função alvo?
Esse problema pode ser estruturado para que o Solver possa encontrar uma solução. A chave é usar a ordenação dos valores, em vez dos próprios valores, conforme as quantidades que o Solver varia, a fim de encontrar o valor mínimo da função de destino. O Solver tem um mecanismo interno para permutar esses valores.
A figura abaixo mostra a configuração da planilha para um exemplo ilustrativo.
-
As células
A4:A7
mantêm os valores que precisam ser reordenados para encontrar um mínimo. -
As células
C4:C7
mantêm uma ordem de linha inicial para esses valores - os valores emC4:C7
são aqueles que serão variados pelo Solver. -
As fórmulas em
E4:E7
pesquisam os valores emA4:A7
que correspondem à ordem das linhas emC4:C7
. -
A célula C9 mantém a fórmula que será minimizada no meu exemplo - observe que a fórmula depende dos valores em
E4:E7
, não daqueles emA4:A7
.
AseguirestãoasconfiguraçõesdoSolverparaoproblema.Aqui,vocêprecisadefinirarestriçãoparaascélulasC4:C7
toAllDifferent
eométododesoluçãoparaEvolutionary
.
Para definir a restrição para C4:C7
para AllDifferent
, escolha a opção dif
na lista suspensa na caixa de diálogo Adicionar Restrição. (Veja este link para uma discussão útil das opções especiais de restrição disponíveis no Solver.)
Eunãoacheinecessáriomexercomasconfiguraçõesopcionaisparaométododesolução,porexemplo,colocandoumlimitedetempoouumlimitedeiteraçãonapesquisadasolução.Comapenasquatrocélulasvariáveiseumafunçãodedestinomuitosimples,oSolverencontrouumasoluçãoemapenasalgunssegundos.AordemdelinhaqueproduziuasoluçãomínimafoimostradaemC4:C7
eaordemdosvaloresemE4:E7
.