| 271 | |
| 272 | |
| 273 | Variable* LinearProgram::create_variable( |
| 274 | Variable::VariableType vt /* = Variable::CONTINUOUS */, |
| 275 | Variable::BoundType bt /* = Variable::FREE */, |
| 276 | double lb /* = -Variable::infinity() */, |
| 277 | double ub /* = +Variable::infinity() */, |
| 278 | const std::string& name /* = "" */) |
| 279 | { |
| 280 | Variable* v = new Variable(this, vt); |
| 281 | v->set_bounds(bt, lb, ub); |
| 282 | |
| 283 | std::size_t idx = variables_.size(); |
| 284 | v->set_index(idx); |
| 285 | |
| 286 | const std::string& fixed_name = name.empty() ? "x" + from_integer(idx, 9, '0') : name; |
| 287 | v->set_name(fixed_name); |
| 288 | |
| 289 | variables_.push_back(v); |
| 290 | return v; |
| 291 | } |
| 292 | |
| 293 | |
| 294 | std::vector<Variable*> LinearProgram::create_n_variables(std::size_t n) { |
nothing calls this directly
no test coverage detected