Destroyed parseLP.ts (markdown)
-266
@@ -1,266 +0,0 @@
|
|||||||
# Documentation for `parseLP.ts`
|
|
||||||
|
|
||||||
This document provides a comprehensive overview of the TypeScript file `parseLP.ts` which contains the type definitions and functions used for handling Linear Programming (LP) problems. **Linear Programming** is a method to achieve the best outcome in a mathematical model whose requirements are represented by linear relationships.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Index
|
|
||||||
|
|
||||||
1. [Overview](#overview)
|
|
||||||
2. [Type Definitions](#type-definitions)
|
|
||||||
- [VariableLP](#variablelp)
|
|
||||||
- [ConstraintLP](#constraintlp)
|
|
||||||
- [ProblemLP](#problemlp)
|
|
||||||
3. [Functions](#functions)
|
|
||||||
- [createProblemLP](#createproblemlp)
|
|
||||||
- [parseLP](#parselp)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
The `parseLP.ts` file is designed to define the structure of an LP problem and create instances of LP problems. It also includes a placeholder for a function to parse LP problem descriptions from a string input.
|
|
||||||
|
|
||||||
## Type Definitions
|
|
||||||
|
|
||||||
### `VariableLP`
|
|
||||||
|
|
||||||
This type is used to define a variable in a linear programming problem.
|
|
||||||
|
|
||||||
- **Attributes:**
|
|
||||||
- `name: string` - Represents the name of the variable.
|
|
||||||
- `coef: number` - Represents the coefficient of the variable in the objective function or constraints.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
type VariableLP = {
|
|
||||||
name: string;
|
|
||||||
coef: number;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### `ConstraintLP`
|
|
||||||
|
|
||||||
This type represents a constraint in a linear programming problem.
|
|
||||||
|
|
||||||
- **Attributes:**
|
|
||||||
- `name: string` - The name of the constraint.
|
|
||||||
- `vars: VariableLP[]` - An array of `VariableLP` representing the variables involved in this constraint.
|
|
||||||
- `bnds: { ub: number; lb: number }` - An object representing the bounds for the constraint.
|
|
||||||
- `ub: number` - Upper bound of the constraint.
|
|
||||||
- `lb: number` - Lower bound of the constraint.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
type ConstraintLP = {
|
|
||||||
name: string;
|
|
||||||
vars: VariableLP[];
|
|
||||||
bnds: {
|
|
||||||
ub: number;
|
|
||||||
lb: number;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### `ProblemLP`
|
|
||||||
|
|
||||||
This interface represents an LP problem as a whole.
|
|
||||||
|
|
||||||
- **Attributes:**
|
|
||||||
- `objective: { vars: VariableLP[]; }` - An object containing an array of `VariableLP` for the objective function.
|
|
||||||
- `constraints: ConstraintLP[]` - An array of `ConstraintLP`, representing the constraints of the LP problem.
|
|
||||||
|
|
||||||
```typescript# Documentation for `parseLP.ts`
|
|
||||||
|
|
||||||
This document provides a comprehensive overview of the TypeScript file `parseLP.ts` which contains the type definitions and functions used for handling Linear Programming (LP) problems. **Linear Programming** is a method to achieve the best outcome in a mathematical model whose requirements are represented by linear relationships.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Index
|
|
||||||
|
|
||||||
1. [Overview](#overview)
|
|
||||||
2. [Type Definitions](#type-definitions)
|
|
||||||
- [VariableLP](#variablelp)
|
|
||||||
- [ConstraintLP](#constraintlp)
|
|
||||||
- [ProblemLP](#problemlp)
|
|
||||||
3. [Functions](#functions)
|
|
||||||
- [createProblemLP](#createproblemlp)
|
|
||||||
- [parseLP](#parselp)
|
|
||||||
4. [Conclusion](#conclusion)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
The `parseLP.ts` file is designed to define the structure of an LP problem and create instances of LP problems. It also includes a placeholder for a function to parse LP problem descriptions from a string input.
|
|
||||||
|
|
||||||
## Type Definitions
|
|
||||||
|
|
||||||
### `VariableLP`
|
|
||||||
|
|
||||||
This type is used to define a variable in a linear programming problem.
|
|
||||||
|
|
||||||
- **Attributes:**
|
|
||||||
- `name: string` - Represents the name of the variable.
|
|
||||||
- `coef: number` - Represents the coefficient of the variable in the objective function or constraints.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
type VariableLP = {
|
|
||||||
name: string;
|
|
||||||
coef: number;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### `ConstraintLP`
|
|
||||||
|
|
||||||
This type represents a constraint in a linear programming problem.
|
|
||||||
|
|
||||||
- **Attributes:**
|
|
||||||
- `name: string` - The name of the constraint.
|
|
||||||
- `vars: VariableLP[]` - An array of `VariableLP` representing the variables involved in this constraint.
|
|
||||||
- `bnds: { ub: number; lb: number }` - An object representing the bounds for the constraint.
|
|
||||||
- `ub: number` - Upper bound of the constraint.
|
|
||||||
- `lb: number` - Lower bound of the constraint.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
type ConstraintLP = {
|
|
||||||
name: string;
|
|
||||||
vars: VariableLP[];
|
|
||||||
bnds: {
|
|
||||||
ub: number;
|
|
||||||
lb: number;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### `ProblemLP`
|
|
||||||
|
|
||||||
This interface represents an LP problem as a whole.
|
|
||||||
|
|
||||||
- **Attributes:**
|
|
||||||
- `objective: { vars: VariableLP[]; }` - An object containing an array of `VariableLP` for the objective function.
|
|
||||||
- `constraints: ConstraintLP[]` - An array of `ConstraintLP`, representing the constraints of the LP problem.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
interface ProblemLP {
|
|
||||||
objective: {
|
|
||||||
vars: VariableLP[];
|
|
||||||
};
|
|
||||||
constraints: ConstraintLP[];
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Functions
|
|
||||||
|
|
||||||
### `createProblemLP`
|
|
||||||
|
|
||||||
This function is responsible for creating a `ProblemLP` from the provided objective variables and constraints.
|
|
||||||
|
|
||||||
- **Parameters:**
|
|
||||||
- `objectiveVars: VariableLP[]` - An array of variables for the objective function.
|
|
||||||
- `constraints: { name: string; vars: VariableLP[]; ub: number; lb: number }[]` - An array of objects representing constraints.
|
|
||||||
|
|
||||||
- **Returns:**
|
|
||||||
- `ProblemLP` - An object that represents the linear programming problem.
|
|
||||||
|
|
||||||
- **Functionality:**
|
|
||||||
- The function maps input constraints into the `ConstraintLP` format.
|
|
||||||
- It then constructs an `LP` problem combining the formatted constraints and objective variables.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
function createProblemLP(
|
|
||||||
objectiveVars: VariableLP[],
|
|
||||||
constraints: { name: string; vars: VariableLP[]; ub: number; lb: number }[]
|
|
||||||
): ProblemLP {
|
|
||||||
const constraintsFormatted: ConstraintLP[] = constraints.map((constraint) => ({
|
|
||||||
name: constraint.name,
|
|
||||||
vars: constraint.vars,
|
|
||||||
bnds: { ub: constraint.ub, lb: constraint.lb }
|
|
||||||
}));
|
|
||||||
|
|
||||||
const problem: ProblemLP = {
|
|
||||||
objective: { vars: objectiveVars },
|
|
||||||
constraints: constraintsFormatted
|
|
||||||
};
|
|
||||||
|
|
||||||
return problem;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### `parseLP`
|
|
||||||
|
|
||||||
The `parseLP` function is a placeholder meant to parse a linear programming problem from a string input.
|
|
||||||
|
|
||||||
- **Parameters:**
|
|
||||||
- `input: string` - The string representation of an LP problem.
|
|
||||||
|
|
||||||
- **Functionality:**
|
|
||||||
- Currently, it logs the input string to the console with a message indicating that an LP file is being parsed.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
export function parseLP(input: string) {
|
|
||||||
console.log("Parsing LP file:", input);
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Conclusion
|
|
||||||
|
|
||||||
The `parseLP.ts` file provides a structured approach to defining and creating linear programming problems in TypeScript. By defining specific types and a function for problem creation, it lays the groundwork for handling LP models efficiently. The `parseLP` function is set to be developed further to enable parsing from string inputs, enhancing its utility.
|
|
||||||
interface ProblemLP {
|
|
||||||
objective: {
|
|
||||||
vars: VariableLP[];
|
|
||||||
};
|
|
||||||
constraints: ConstraintLP[];
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Functions
|
|
||||||
|
|
||||||
### `createProblemLP`
|
|
||||||
|
|
||||||
This function is responsible for creating a `ProblemLP` from the provided objective variables and constraints.
|
|
||||||
|
|
||||||
- **Parameters:**
|
|
||||||
- `objectiveVars: VariableLP[]` - An array of variables for the objective function.
|
|
||||||
- `constraints: { name: string; vars: VariableLP[]; ub: number; lb: number }[]` - An array of objects representing constraints.
|
|
||||||
|
|
||||||
- **Returns:**
|
|
||||||
- `ProblemLP` - An object that represents the linear programming problem.
|
|
||||||
|
|
||||||
- **Functionality:**
|
|
||||||
- The function maps input constraints into the `ConstraintLP` format.
|
|
||||||
- It then constructs an `LP` problem combining the formatted constraints and objective variables.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
function createProblemLP(
|
|
||||||
objectiveVars: VariableLP[],
|
|
||||||
constraints: { name: string; vars: VariableLP[]; ub: number; lb: number }[]
|
|
||||||
): ProblemLP {
|
|
||||||
const constraintsFormatted: ConstraintLP[] = constraints.map((constraint) => ({
|
|
||||||
name: constraint.name,
|
|
||||||
vars: constraint.vars,
|
|
||||||
bnds: { ub: constraint.ub, lb: constraint.lb }
|
|
||||||
}));
|
|
||||||
|
|
||||||
const problem: ProblemLP = {
|
|
||||||
objective: { vars: objectiveVars },
|
|
||||||
constraints: constraintsFormatted
|
|
||||||
};
|
|
||||||
|
|
||||||
return problem;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### `parseLP`
|
|
||||||
|
|
||||||
The `parseLP` function is a placeholder meant to parse a linear programming problem from a string input.
|
|
||||||
|
|
||||||
- **Parameters:**
|
|
||||||
- `input: string` - The string representation of an LP problem.
|
|
||||||
|
|
||||||
- **Functionality:**
|
|
||||||
- Currently, it logs the input string to the console with a message indicating that an LP file is being parsed.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
export function parseLP(input: string) {
|
|
||||||
console.log("Parsing LP file:", input);
|
|
||||||
}
|
|
||||||
```
|
|
||||||
Reference in New Issue
Block a user