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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8a3d076555b38d6db3743c971d9f025fc8b4889e8aaf5fb9337bac4315c228d |
|
MD5 | dd709a92a7c4c60b1e095c09b1dd8c18 |
|
BLAKE2b-256 | 5cba4e60391801f458c3ecadf43a80ae8cb5b13a5104d2442056915a071df3dd |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1be0de112ffb87a983789a0aa6db51b596b99757c3e10791bfdc0da7bafa70f3 |
|
MD5 | 7700708a8e1dec87e5a6ca28b0bd9a61 |
|
BLAKE2b-256 | 167ccadbc67ddfc8cedc2581f8db3c12df0d1afefe2310ab259322758c63ef0b |