Try moving the decomposition of the MiniZinc `gecode_cumulatives` constraint into MiniZinc
- Langage dominant
- C++
- Étoiles
- 335
- Forks
- 88
- Merge moyen
- 1 h 28 min
- PR mergées (30 j)
- 1
Description
The [`gecode_cumulatives`](https://github.com/Gecode/gecode/blob/develop/gecode/flatzinc/mznlib/fzn_cumulative.mzn#L40) MiniZinc constraint is used for implementing `fzn_cumulative`. The [registry post function](https://github.com/Gecode/gecode/blob/87a464b9d7d67616c1b4c6b98600d38a782d014b/gecode/flatzinc/registry.cpp#L1210) does a lot of inspection of the arguments, posting different variants of the constraint.
This requires first fixing #80 so that the relevant Gecode scheduling constraints are available in MiniZinc.
One potential benefit of this, is that the required `start[i] + duration[i] = end[i]` constraints would be available for common subexpression elimination for MiniZinc.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Résolvez d’abord #80 afin que les contraintes de scheduling pertinentes de Gecode soient disponibles dans MiniZinc. Comparez ensuite la décomposition dans fzn_cumulative.mzn avec l’inspection des arguments et le posting des variantes dans gecode/flatzinc/registry.cpp ; le travail est considéré comme terminé lorsque la décomposition a été déplacée dans MiniZinc et que les contraintes de début plus durée sont disponibles pour l’élimination des sous-expressions communes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cpp
- Domaine
- backend
- Type d'issue
- Refactorisation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100