Git Product home page Git Product logo

hens's Introduction

HENS

Miten Mistry and Ruth Misener.

Project Description

This project implements an algorithm that lower bounds a given mixed-integer nonlinear programming (MINLP) Synheat instance. The algorithm models the MINLP formulation as a mixed-integer linear programming relaxation and iteratively tightens by adding cutting planes for convex functions and breakpoints for piecewise approximations.

The following paper describes the method.

  • Mistry, M., Misener, R. 2016. Optimising heat exchanger network synthesis using convexity properties of the logarithmic mean temperature difference. Computers & Chemical Engineering. 94, 1-17.

Prerequisites

  • Python 3.5.2
  • Pyomo 5.0.1
  • PyLatex 1.0.0 (optional)
  • Gurobi

Usage

To find out how to use the code, run from terminal:

cd <directory>
python iterative.py -h

where directory is one of:

  • adaptive_model_mixer,
  • beta_adaptive_model_mixer.

These two directories contain the two algorithm mentioned in the associated paper.

Adding your own datafile

Put it in the datafiles directory and give it the extension .dat. The contents of the datafile should be similar to that of those already in the datafiles directory. Assuming that the new datafile is called example.dat, running the following should work.

cd adaptive_model_mixer
python iterative.py example anyAlphaNumericThingCanGoHere

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.