Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

MatrixOfConstraints and IndexMap

オープン
#1,772 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
ドキュメント
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
julia

調査の方向性

まず MatrixOfConstraints、OptimizerCache、OrderedProductOfSets、copy_to、identity_index_map、MixOfScalarSets、CleverDict の関係を確認し、次にリンク先の Cbc.jl の議論を読んでください。完了条件は、solver の index-map に関する前提と、product set および identity mapping の提案された扱いが文書化され、実装範囲について合意されていることです。

索引モデルが issue の本文から書いたものです。

説明

Submodule: Utilities

Document that solvers can rely on the fact that MatrixOfConstraints does not implement deletion of rows and columns and hence, the OptimizerCache can be done in a way such that the index map is identity.

When using OrderedProductOfSets, the solver will need to keep the product of set as a field after copy_to to handle the mapping of indices to ranges, such mapping is needed for conic solvers anyway.

For linear solvers, there is also the choice of using MixOfScalarSets for which the mapping is trivial so no need to keep the product of set as a field.

Since that would make many solvers use identity_index_map, it gives incentive to make this function cheaper. One option is to make CleverDict even more clever with a bool is_identity and only start using vector when the mapping starts being non-trivial. That would also benefit to solvers not using identity_index_map but for which the mapping is trivial most of the time.

See https://github.com/jump-dev/Cbc.jl/pull/189#discussion_r818105943

主要言語
Julia
スター
506
フォーク
103
平均マージ
1日 10分
マージ済み PR(30日)
12

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

jump-dev/MathOptInterface.jl のほかの issue

jump-dev/MathOptInterface.jl の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。