@@ -2,7 +2,17 @@ use crate::builder::CanBeAddedToModel;
2
2
use crate :: { Model , ModelWithProblem , ProblemCreated , VarType , Variable } ;
3
3
use std:: ops:: RangeBounds ;
4
4
5
- /// A builder for variables.
5
+ /// A builder for variables. It can be easily created using the `var` function.
6
+ ///
7
+ /// # Example
8
+ ///
9
+ /// ```rust
10
+ /// use russcip::prelude::*;
11
+ ///
12
+ /// let integer_var = var().name("x").int(0..=10); // Integer variable with bounds [0, 10]
13
+ /// let binary_var = var().name("y").bin(); // Binary variable
14
+ /// let continuous_var = var().name("z").cont(0.0..); // Continuous variable with lower bound 0.0
15
+ /// ```
6
16
pub struct VarBuilder < ' a > {
7
17
name : Option < & ' a str > ,
8
18
obj : f64 ,
@@ -175,7 +185,7 @@ mod tests {
175
185
176
186
#[ test]
177
187
fn test_var_builder ( ) {
178
- let var = VarBuilder :: default ( ) . name ( "x" ) . obj ( 1.0 ) . cont ( 0.0 ..1.0 ) ;
188
+ let var = VarBuilder :: default ( ) . name ( "x" ) . obj ( 1.0 ) . cont ( 0.0 ..= 1.0 ) ;
179
189
180
190
assert_eq ! ( var. name, Some ( "x" ) ) ;
181
191
assert_eq ! ( var. obj, 1.0 ) ;
@@ -186,7 +196,7 @@ mod tests {
186
196
#[ test]
187
197
fn test_var_builder_add ( ) {
188
198
let mut model = Model :: default ( ) . set_obj_sense ( crate :: ObjSense :: Maximize ) ;
189
- let var = var ( ) . name ( "x" ) . obj ( 1.0 ) . cont ( 0.0 ..1.0 ) ;
199
+ let var = var ( ) . name ( "x" ) . obj ( 1.0 ) . cont ( 0.0 ..= 1.0 ) ;
190
200
191
201
let var = model. add ( var) ;
192
202
@@ -205,9 +215,9 @@ mod tests {
205
215
fn test_var_add_all ( ) {
206
216
let mut model = Model :: default ( ) . set_obj_sense ( crate :: ObjSense :: Maximize ) ;
207
217
let vars = vec ! [
208
- var( ) . name( "1" ) . obj( 1.0 ) . cont( 0.0 ..1.0 ) ,
209
- var( ) . name( "2" ) . obj( 1.0 ) . cont( 0.0 ..1.0 ) ,
210
- var( ) . name( "3" ) . obj( 1.0 ) . cont( 0.0 ..1.0 ) ,
218
+ var( ) . name( "1" ) . obj( 1.0 ) . cont( 0.0 ..= 1.0 ) ,
219
+ var( ) . name( "2" ) . obj( 1.0 ) . cont( 0.0 ..= 1.0 ) ,
220
+ var( ) . name( "3" ) . obj( 1.0 ) . cont( 0.0 ..= 1.0 ) ,
211
221
] ;
212
222
213
223
let vars = model. add ( vars) ;
0 commit comments