Documentation for parseMIP.ts
Overview
The parseMIP.ts file is a TypeScript module that defines interfaces and functions for handling Mixed Integer Programming (MIP) problems. This module is designed to create and parse MIP problems, which are optimization problems that involve both continuous and integer variables. The code provides a structured way to define the problem components such as variables, constraints, and options, and encapsulates these components into a Problem object.
Index
Interfaces
VariableMIP
The VariableMIP interface defines a structure for representing a variable in the MIP problem.
| Property | Type | Description |
|---|---|---|
name |
string |
Name of the variable. |
coef |
number |
Coefficient of the variable. |
Bounds
The Bounds interface specifies the bounds for a constraint in the MIP problem.
| Property | Type | Description |
|---|---|---|
type |
number |
Type of the bound (e.g., <=, >=, =). |
ub |
number |
Upper bound for the constraint. |
lb |
number |
Lower bound for the constraint. |
ConstraintMIP
The ConstraintMIP interface outlines the structure for constraints within the MIP problem.
| Property | Type | Description |
|---|---|---|
name |
string |
Name of the constraint. |
vars |
VariableMIP[] |
Array of variables in the constraint. |
bnds |
Bounds |
Bounds for the constraint. |
Options
The Options interface defines additional parameters for solving the MIP problem.
| Property | Type | Description |
|---|---|---|
mipgap |
number |
MIP gap tolerance. |
tmlim |
number |
Time limit for solving the problem. |
msglev |
number |
Message level for output verbosity. |
Problem
The Problem interface represents an entire MIP problem, encompassing all components such as objective, constraints, and options.
| Property | Type | Description |
|---|---|---|
name |
string |
Name of the problem. |
objective |
object |
Objective function details. |
constraints |
ConstraintMIP[] |
Array of constraints. |
binaries |
string[] (optional) |
List of binary variables. |
generals |
string[] (optional) |
List of general integer variables. |
options |
Options |
Solver options. |
Functions
createProblemMIP
The createProblemMIP function constructs a Problem object by accepting parameters that define the problem's name, objective, constraints, and options.
Parameters
name: string: The name of the MIP problem.direction: "min" | "max": The direction of optimization (minimize or maximize).objectiveName: string: The name of the objective function.objectiveVars: VariableMIP[]: Variables involved in the objective function.constraints: { name: string; vars: VariableMIP[]; bnds_type: number; ub: number; lb: number }[]: Array of constraints details.binaries: string[]: Array of binary variables.generals: string[](optional): Array of general integer variables.mipgap: number: MIP gap tolerance.tmlim: number: Time limit for solving the problem.msglev: number: Message level for verbosity.
Returns
Problem: A structured representation of the MIP problem.
Example
const problem = createProblemMIP(
"SampleProblem",
"min",
"ObjectiveFunction",
[{ name: "x1", coef: 1 }, { name: "x2", coef: 2 }],
[
{ name: "Constraint1", vars: [{ name: "x1", coef: 1 }], bnds_type: 1, ub: 10, lb: 0 }
],
["x1"],
["x2"],
0.01,
1000,
1
);
parseLP
The parseLP function is designed to process and parse an input string representing a Linear Programming file (though named as parseLP, it prints a simple message for demonstration purposes).
Parameters
input: string: The input string representing the LP file to be parsed.
Example
parseLP("ExampleInputString");
This function currently logs the message "Parsing MIP file:" followed by the input string, indicating the start of a parsing process.
Spaceholder-Programming 2024.