Skip to Content
0
Nov 16, 2018 at 10:35 AM

Integration ERP-SAC-Gurobi for Utilities

98 Views Last edit Nov 16, 2018 at 10:37 AM 2 rev

Hello all, Please help me to solve this task below for our Utilities customer: "For example, we need to solve the following optimization problem. There are 10 mines producing coal of different brands and different quality and different volumes. There are 10 coal-preparation planst, receiving raw coal at the entrance, and producing coal concentrate. And there are 10 thermal power plants (TPPs) that burn coal concentrate of the required quality and produce electricity. Thus, we have 1000 potential coal supply chains: Mine – coal-preparation plant – thermal power plant. Variable models: supply volumes for these chains. Restrictions: the volume of mining, the power of the central processing facility, the needs of thermal power plants. Main objective: total marginal profit for all chains (sales of electricity minus all costs associated with the mining, enrichment, burning and transportation of coal). The customer knows how to solve this problem for Gurobi software in a language like Python. I tis needed to load the source data (in the form of flat Excel files, which basically form a relational database) into data frames (with which the Pandas library works), and then form a set of variables and constraints, as well as the main objective for Gurobi, from them , get the answer, and write it to the output Excel file (as a plan for S & OP - production and sales). The client also understands how i tis possible to upload raw data from SAP to Excel files, and then upload the result of the solution from Excel back to the SAP database. The question is: can we do it WITHOUT the intermediate stages of loading and unloading data and WITHOUT engaging Excel and Python? For this, as far as we understand, SAP should provide its own API (Application Programming Interface), which will allow us to access Gurobi by calling its standard functions (create a model, set a set of variables, set a set of restrictions, set a target function, optimize the model, and .), as well as a language like SQL (Structured Query Language), which allows us to extract the necessary data fragments from the SAP database according to the keys and filters, and fill the model with them." Thank you in advance, Alex.