1
2
3
4
5
6
7
8
9
|
1
2
3
4
5
6
7
8
9
|
-
+
|
/*
* Copyright (c) 2019-2022 Frank Fischer <frank-fischer@shadow-soft.de>
* Copyright (c) 2019-2023 Frank Fischer <frank-fischer@shadow-soft.de>
*
* This program is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
|
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
-
-
+
-
-
+
+
-
-
+
+
-
|
/// If no lower bounds are specified, $-\infty$ is assumed.
///
/// The lower bounds must be less then or equal the upper bounds.
fn lower_bounds(&self) -> Option<Vec<Real>> {
None
}
/**
* Return the upper bounds on the variables.
/// Return the upper bounds on the variables.
*
* If no lower bounds are specified, $+\infty$ is assumed.
///
/// If no lower bounds are specified, $+\infty$ is assumed.
*
* The upper bounds must be greater than or equal the upper bounds.
///
/// The upper bounds must be greater than or equal the upper bounds.
*/
fn upper_bounds(&self) -> Option<Vec<Real>> {
None
}
/// Return the group index of each variable.
///
/// Each variable may be part of exactly one convexity constraint
|