
Together we are more than the sum of our cells.
Introduction
We provide an open source ecosystem centered around optimization and operations research. The main project is the Generic Allocator, which is a constraint satisfaction solver based on the assignment problem model.
An overview of the projects can be found here. Some of them are not strictly related to optimization and can be used in other contexts as well. OS State Interface is a good example of such.
You have your own open source optimization software? How about working together?
Where to start?
πͺ§ Get to know the main features.
π Model and optimize problems.
ποΈ Deploy the software or develop programs with this project.
π¬ Analyze and organize your operations and prepare schedules.
π€ Collaborate large decision-making networks.
ποΈοΈ Get an insight into our thoughts via our blog (also on Gemini), Mastodon/Fosstodon and programming progress via our changelog.
π¦ Get a bird's-eye project view.
π Research optimization.
π Get structured documentation.
β Contribute to projects.
π° Support contributors.
π£ Spread the word!
Project Status
Project Cluster Structure
This project is meant to be part of a cluster, with a certain filesystem structure in mind. The cluster's filesystem consists of a folder containing repositories without nesting:
Project Cluster
βββ net.splitcells.network
β βββ projects
β βββ net.splitcells.dem
β βββ net.splitcells.gel
β βββ net.splitcells.os.state.interface
β βββ net.splitcells.system
β βββ ...
βββ net.splitcells.network.log
βββ net.splitcells.os.state.interface.lib.gpl.2
βββ net.splitcells.os.state.interface.lib.gpl.3
βββ ...
This image illustrates the networks structure by showing relevant parts of the filesystem.
- net.splitcells.network:
This repository integrates all projects, repositories and hosting services, that are part of the network.
- dem: Provides a standardized fundament for Java projects.
- gel: This framework delivers optimization capabilities.
- os.state.interface: The projects helps the user to organize and execute commands in the terminal via dependency injection.
- system: Manages all integrated subprojects of the network. In particular, it can be used to build all integrated projects.
- Related projects/repositories:
Related projects are located in repositories, which are at the same folder as the
net.splitcells.network project.
These projects are not inside this repository and are managed more independently.
They may be managed by users with OS state interface.
It is recommended to not nest repositories.
net.splitcells.network.log
contains data like benchmark results.net.splitcells.os.state.interface.lib.*
are command repositories, that can be used independently or can be registered to an installation ofnet.splitcells.os.state.interface
.
Infrastructure
- Rendered Documentation via a personal website
- Tickets are managed Github (projects) for the community, Sourcehut's todo (active tickets and all tickets) for tickets related to the webserver, and for complex and important tickets a Blog (Source code is here.) and its standard project is used.
- Repository Hosts:
- Github is used mainly for general software development.
- Gitlab is currently used only for continuous integration (CI).
- sourcehut is used mainly for writing articles and web rendering.
It's CI pipeline is also used with the repo
net.splitcells.network.m2
, in order to ensure, that this project can be build offline and without the user's local Maven m2 repo.