Try moving the decomposition of the MiniZinc `gecode_cumulatives` constraint into MiniZinc
- Ngôn ngữ chính
- C++
- Star
- 335
- Fork
- 88
- Merge trung bình
- 1 giờ 28 phút
- Pull request đã merge (30 ngày)
- 1
Mô tả
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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Trước tiên, hãy giải quyết #80 để các ràng buộc lập lịch liên quan của Gecode có sẵn trong MiniZinc. Sau đó, so sánh phép phân rã trong fzn_cumulative.mzn với việc kiểm tra đối số và posting biến thể trong gecode/flatzinc/registry.cpp; được xem là hoàn tất khi phép phân rã đã được chuyển vào MiniZinc và các ràng buộc bắt đầu cộng thời lượng có sẵn cho việc loại bỏ biểu thức con chung.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- backend
- Loại issue
- Tái cấu trúc
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100