Giter Site home page Giter Site logo

oil-field-optimization's Introduction

Oil field optimization

This repository provides the source code for a command-line based optimization software.

Problem description

The program computes the optimal selection of pumpjacks whose rates must be adjusted in order to increase or reduce the total gross production of an oil field, while maximizing the total net production.

In some way, the problem is similar to the subset sum problem, as a subset of wells must be chosen to minimize the subset size and maximize the net values.

This problem becomes relevant when the field production is limited by the storing battery, and production rate (in m³/day) needs to be modified.

Preparing the system model

To compile the program use:

make VERBOSE=true

The VERBOSE argument is used to print loging and debugging data

Running the model optimization

To solve the model wells.csv and distances for a goal target of 1500 m³/day +/- 50 m³/day gross, use:

optimize -p wells.csv -d distances.csv -o results.csv -g 1500 -l 50 -t 120  

The t argument is used as timeout in seconds. In this case is configured to 2 minutes. This will print the output to the results.csv file.

Automate analysis of multiple instances

A python script can be used to automate the program compilation and execution of a batch of runs with different configurations.

For example, this python script runs multiple configurations and reads the results from the .csv file to make a chart of the resulting Pareto Front plots.

oil-field-optimization's People

Contributors

matiasmicheletto avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.