1

我正在尝试在 Solver Studio 上使用 GLPK/GPL 编写 Scrum 优化方法的一个版本(Golfarelli,2013) - 用于学术目的 - 论文:https://drive.google.com/file/d/0B7W9UWp9Yzx4M0RUUnFpbkRlbE0/view? usp=分享

到目前为止,这是我的代码:

#Modelo de Otimizacao de Sprints

# Conjunto de Indices
set Sprint;
set UserStory;
#set A;

#Parametros
param capacidade{Sprint};
param complexidade{UserStory};
param riscoincerteza{UserStory};
param riscocriticidade{UserStory};
param utilidade {UserStory};
#param afinidade {A};

#Variaveis
var x{Sprint, UserStory} binary;
#var y{Sprint, UserStory, A} >=0;
var UtilidadeSprint{Sprint} >=0;
var UtilidadeAcumulada{Sprint} >=0;

#FuncaoObjetivo
maximize SomaUtilidadeAcumulada: sum{i in Sprint} UtilidadeAcumulada[i];

#Restricoes
s.t. rest_UtilidadeAcumuladaPrimeiroSprint: UtilidadeAcumulada[1] = UtilidadeSprint[1];
s.t. rest_UtilidadeAcumuladaDemais{i in Sprint}: UtilidadeAcumulada[i+1] = UtilidadeSprint[i+1] + UtilidadeAcumulada[i];
s.t. rest_UtilidadeSprint{i in Sprint}: UtilidadeSprint[i] = sum{j in UserStory} utilidade[j] * riscocriticidade[j] * x[i, j];
s.t. rest_capacidade{i in Sprint}: sum{j in UserStory} complexidade[j] * riscoincerteza[j] * x[i,j] <= capacidade[i];
s.t. rest_NaoRepetirUserStory{j in UserStory}: sum{i in Sprint} x[i,j] = 1;

#Resolver Problrema
solve;

#Escrever Utilidade Acumulada na planilha
printf " UtilidadeAcumulada :=\n" >> "Sheet";
printf {i in Sprint} "'%s' '%s'\n", i, UtilidadeAcumulada[i] >> "Sheet";
printf ";\n" >> "Sheet";

#Escrever Utilidade Sprint na planilha
printf " UtilidadeSprint :=\n" >> "Sheet";
printf {i in Sprint} "'%s' '%s'\n", i, UtilidadeSprint[i] >> "Sheet";
printf ";\n" >> "Sheet";

#Escrever Solucao Otima na planilha
printf "rest_capacidade :=\n" >> "Sheet";
printf {i in Sprint} "'%s' '%s'\n", i, rest_capacidade[i] >> "Sheet";
printf ";\n" >> "Sheet";

printf "x :=\n" >> "Sheet";
printf {i in Sprint, j in UserStory}: "'%s' '%s' '%s'\n", i, j, x[i,j] >> "Sheet";
printf ";\n" >> "Sheet";

end;

我陷入了我的代码中(一定是因为我不熟悉这种语言)。它不接受 UtilidadeAcumulada,因为它会一直到“7”并且应该一直到“6”(我无法锁定这个参数)——而且我也没有进入最复杂的部分(使用分组和优先级)。=(

如果熟悉 SolverStudio(和 GPL)的人能给我一些帮助,我将不胜感激。

4

0 回答 0