Linear Programming Optimisation¶
Type¶
pyspark2inputs
Class¶
fire.nodes.lpo.NodeLinearProgrammingOptimisation
Fields¶
Name |
Title |
Description |
|---|---|---|
objective |
Objective |
Minimise or Maximise the objective function? |
Details¶
Select Weather to Maximise or minimise the objective function :
The Node takes in two dataframes as Input:
Lower edge Dataframe must have these columns :
var, value, type, relationship and bound which would help declare the Decision Variables
Higher Edge Datafrane must have these column along with all the var Decision variables which were declared in the above dataframe :
constarint,x1,x2,x3,relationship,value
These would create the constraint equations from the dataframe.
After solving the equations the Output is :
Variables Names and Values,Constraints Names and Values & Objective Value
Examples¶
Incoming Dataframe has following rows:
var | value | type | relationship | bound
-------------------------------------------------------------------------------------
tables | 40 | Integer | >= | 0
chairs | 30 | Integer | >= | 0
bookcases | 35 | Continuous | <= | 0
constraint | tables | chairs | bookcases | relationship | value
-----------------------------------------------------------------
labor | 2 | 1 | 2.5 | <= | 60
machine | 0.8 | 0.6 | 1 | <= | 16
wood | 30 | 20 | 30 | <= | 400
tables | 1 | 0 | 0 | >= | 10
The above table would correspond to equations:
2 * tables + 1 * chairs + 2.5 * bookcases <= 60, “labour”
0.8 * tables + 0.6 * chairs + 1 * bookcases <= 16, “machine”
30 * tables + 20 * chairs + 30 * bookcases <= 400, “wood”
2 * tables + 0 * chairs + 0 * bookcases >= 10, “tables”
The output for the above Problem when the Objective function is Maximised is:
Variables Names and Values
bookcases = 0.0
chairs = 5.0
tables = 10.0
Constraints Names and Values
Labor = -35.0
machine = -5.0
wood = 0.0
tables = 0.0
Objective Value is : 550.0