only_ineq_con=false, custom_filter=*)</code></pre><p>Returns a subset of the CUTEst problems using the classification file <code>classf.json</code>.</p><p><strong>Keyword arguments</strong></p><ul><li><p><code>min_var</code> and <code>max_var</code> set the number of variables in the problem;</p></li><li><p><code>min_con</code> and <code>max_con</code> set the number of constraints in the problem (use <code>max_con=0</code> for unconstrained or <code>min_con=1</code> for constrained);</p></li><li><p><code>only_*</code> flags are self-explaining. Note that they appear in conflicting pairs. Both can be false, but only one can be true.</p></li><li><p><code>objtype</code> is the classification of the objective function according to the <a href="https://ralna.github.io/SIFDecode/html/classification/">MASTSIF classification</a>. It can be a number, a symbol, a string, or an array of those.</p><ul><li><code>1</code>, <code>:none</code> or <code>"none"</code> means there is no objective function;</li><li><code>2</code>, <code>:constant</code> or <code>"constant"</code> means the objective function is a constant;</li><li><code>3</code>, <code>:linear</code> or <code>"linear"</code> means the objective function is a linear functional;</li><li><code>4</code>, <code>:quadratic</code> or <code>"quadratic"</code> means the objective function is quadratic;</li><li><code>5</code>, <code>:sum_of_squares</code> or <code>"sum_of_squares"</code> means the objective function is a sum of squares;</li><li><code>6</code>, <code>:other</code> or <code>"other"</code> means the objective function is none of the above.</li></ul></li><li><p><code>contype</code> is the classification of the constraints according to the same MASTSIF classification file.</p><ul><li><code>1</code>, <code>:unc</code> or <code>"unc"</code> means there are no constraints at all;</li><li><code>2</code>, <code>:fixed_vars</code> or <code>"fixed_vars"</code> means the only constraints are fixed variables;</li><li><code>3</code>, <code>:bounds</code> or <code>"bounds"</code> means the only constraints are bounded variables;</li><li><code>4</code>, <code>:network</code> or <code>"network"</code> means the constraints represent the adjacency matrix of a (linear) network;</li><li><code>5</code>, <code>:linear</code> or <code>"linear"</code> means the constraints are linear;</li><li><code>6</code>, <code>:quadratic</code> or <code>"quadratic"</code> means the constraints are quadratic;</li><li><code>7</code>, <code>:other</code> or <code>"other"</code> means the constraints are more general.</li></ul></li><li><p><code>custom_filter</code>: A function to apply additional filtering to the problem data. This data is provided as a dictionary with the following fields:</p><ul><li><p><code>"objtype"</code>: String representing the objective function type. It can be one of the following:</p><ul><li><code>"none"</code>, <code>"constant"</code>, <code>"linear"</code>, <code>"quadratic"</code>, <code>"sum_of_squares"</code>, <code>"other"</code></li></ul></li><li><p><code>"contype"</code>: String representing the constraint type. It can be one of the following:</p><ul><li><code>"unc"</code>, <code>"fixed_vars"</code>, <code>"bounds"</code>, <code>"network"</code>, <code>"linear"</code>, <code>"quadratic"</code>, <code>"other"</code></li></ul></li><li><p><code>"regular"</code>: Boolean indicating whether the problem is regular or not.</p><ul><li><code>"derivative_order"</code>: Integer representing the order of the highest derivative available.</li></ul></li><li><p><code>"origin"</code>: String indicating the origin of the problem. Possible values are <code>"academic"</code>, <code>"modelling"</code>, or <code>"real"</code>.</p></li><li><p><code>"has_interval_var"</code>: Boolean indicating whether the problem includes interval variables.</p></li><li><p><code>"variables"</code>: Dictionary with fields related to variables:</p><ul><li><code>"can_choose"</code>: Boolean indicating whether you can change the number of variables via parameters.</li><li><code>"number"</code>: Integer representing the number of variables (default if <code>"can_choose"</code> is true).</li><li><code>"fixed"</code>: Integer representing the number of fixed variables.</li><li><code>"free"</code>: Integer representing the number of free variables.</li><li><code>"bounded_below"</code>: Integer representing the number of variables bounded only from below.</li><li><code>"bounded_above"</code>: Integer representing the number of variables bounded only from above.</li><li><code>"bounded_both"</code>: Integer representing the number of variables bounded from both below and above.</li></ul></li><li><p><code>"constraints"</code>: Dictionary with fields related to constraints:</p><ul><li><code>"can_choose"</code>: Boolean indicating whether you can change the number of constraints via parameters.</li><li><code>"number"</code>: Integer representing the number of constraints (default if <code>"can_choose"</code> is true).</li><li><code>"equality"</code>: Integer representing the number of equality constraints.</li><li><code>"ineq_below"</code>: Integer representing the number of inequalities of the form <code>c(x) ≥ cl</code>.</li><li><code>"ineq_above"</code>: Integer representing the number of inequalities of the form <code>c(x) ≤ cu</code>.</li><li><code>"ineq_both"</code>: Integer representing the number of inequalities of the form <code>cl ≤ c(x) ≤ cu</code>.</li><li><code>"linear"</code>: Integer representing the number of linear constraints.</li><li><code>"nonlinear"</code>: Integer representing the number of nonlinear constraints.</li></ul></li></ul></li></ul><pre><code class="language-julia hljs">filtered_problems1 = select_sif_problems(; min_var=10, max_var=100, only_linear_con=true)
0 commit comments