Skip to main content

The QAP variant of keyboard layout optimization, i.e. character to key assignments

Project description

Keyboard layout optimization via ILP

This repository contains my implementation of the task to optimize a keyboard layout in terms of assigning the available characters to the keys in a clever way. This is part of my participation in the Seminar: Integer Programming modeling of puzzles, games, and real-world problems during the winter term 21/22 at Technische Universität zu Berlin.

Usage

This code requires the SCIP Optimization Suite to be installed on the machine to be used, which we prepared in a Docker image at docker_pyscipopt . The proper use of this image is well documented in its README.md . The actual code can then be found in the src/ilp_keyboard_layout_optimization subfolder .

Remote development

We included a bash script pull_and_optimize.sh in our codebase to streamline a remote development workflow. We work on the code on a computer, that is well-equipped for that task. The committed and pushed code then gets processed on another machine, which uses this script, to update its code base and run the parameters handed over. It is designed to be called without parameters to execute the optimize module of the latest version released on Test.PyPI.org .

$ ./pull_and_optimize.sh

The execution requires the Docker image of our repository docker_pyscipopt to be built in advance, but it could be easily adapted for a local installation of the SCIP Optimization Suite.

Project details


Download files

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

Source Distribution

ilp_keyboard_layout_optimization-0.0.3.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file ilp_keyboard_layout_optimization-0.0.3.tar.gz.

File metadata

  • Download URL: ilp_keyboard_layout_optimization-0.0.3.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for ilp_keyboard_layout_optimization-0.0.3.tar.gz
Algorithm Hash digest
SHA256 d8a3d076555b38d6db3743c971d9f025fc8b4889e8aaf5fb9337bac4315c228d
MD5 dd709a92a7c4c60b1e095c09b1dd8c18
BLAKE2b-256 5cba4e60391801f458c3ecadf43a80ae8cb5b13a5104d2442056915a071df3dd

See more details on using hashes here.

File details

Details for the file ilp_keyboard_layout_optimization-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: ilp_keyboard_layout_optimization-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for ilp_keyboard_layout_optimization-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1be0de112ffb87a983789a0aa6db51b596b99757c3e10791bfdc0da7bafa70f3
MD5 7700708a8e1dec87e5a6ca28b0bd9a61
BLAKE2b-256 167ccadbc67ddfc8cedc2581f8db3c12df0d1afefe2310ab259322758c63ef0b

See more details on using hashes here.

Supported by

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