Skip to main content

A simple package the solve CIAPs with dwell time constraints

Project description

pyCIAP

CodeFactor Grade

This a very simple package to solve the Combinatorial Integral Approximation Problem (CIAP) including dwell-time constraints by a dwell-time sum-up rounding algorithm, see 1 for the theoretical results.

Install

Clone this repo and then run

python3 setup.py install

inside the repo directory.

Example:

from pyCIAP import DSUR, solveCIAPMDT
import numpy as np

# Relaxed control fulfilling SOS1-constraint
b_rel = np.array([[
    0.47131227, 0.78736104, 0.97325193, 0.53496864, 
    0.73187786, 0.07838749, 0.48948843, 0.64580892],
    [0.52868773, 0.21263896, 0.02674807, 0.46503136, 
    0.26812214, 0.92161251, 0.51051157, 0.35419108]])

# time grid
dt = 1.0
time = np.arange(0, b_rel.shape[1], dt)

# Computes a binary control fulfilling the minimum dwell times
# The dwell times are always in number of time steps, i.e. multiples of dt
b_bin = DSUR(b_rel, 1.0, time, min_up_time=3, min_down_time=3)

gives

array([[1, 1, 1, 0, 0, 0, 1, 1],
       [0, 0, 0, 1, 1, 1, 0, 0]])

In order to compare the DSUR solution to the global optimum, one can solve the CIAP by Gurobi and use the solution as MIP start:

runtime, eps_opt, eps_dsur = solveCIAPMDT(b_rel, dt, 3, 3, start_sol=b_bin)

Here eps_opt and eps_dsur denote the objective values of the corresponding CIAP, i.e. the integrality gap.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyCIAP-0.0.2-cp39-cp39-win_amd64.whl (257.9 kB view details)

Uploaded CPython 3.9Windows x86-64

pyCIAP-0.0.2-cp39-cp39-macosx_10_15_x86_64.whl (87.2 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

File details

Details for the file pyCIAP-0.0.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyCIAP-0.0.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 257.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pyCIAP-0.0.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4cce8d33158465f396c2e9366691ee6d2a6bf6398b5ee78f46902e4248509859
MD5 5096fe9ebce979ae3a8bb3dcf7514719
BLAKE2b-256 5b832580197d7aa70568ba4d7295d3b0a2856b23a44acd64840025779d57f441

See more details on using hashes here.

File details

Details for the file pyCIAP-0.0.2-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: pyCIAP-0.0.2-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 87.2 kB
  • Tags: CPython 3.9, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/0.0.8 requests/2.25.1 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.7

File hashes

Hashes for pyCIAP-0.0.2-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 d69d1af15afd562c00a4f2863d6f8d4b2dbbdc93059225d1c2dd03cd27a1c905
MD5 fa14d7915964ac7055dc4ef6be27ce69
BLAKE2b-256 6d02fff45e77cc062f86e1f107ae1d870129f7fbb08cd002f1aa27378ea95d02

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page