Gecode / Gecode/gecode

Try moving the decomposition of the MiniZinc `gecode_cumulatives` constraint into MiniZinc

Ouverte
#81 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
good first issue help wanted
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.