はじめに こんにちは! 私は業務で、数理最適化を活用したシステム開発、および導入支援に従事しています。 本記事は、私の妻が担当した 雑務(部署の懇親会のグループ分け) を題材として、それを数理最適化問題に落とし込み、条件を満たすようなグループ分けを求める簡易的なアプリをPythonで実装してみました。 「とりあえず動くものを作る」という意識で取り組んだため、もし特に数理最適化周りについて、より効率的なアプローチをご存じの方、また思いついた方は、ぜひご指摘いただけると幸いです。 具体的に・・・ 「部署の懇親会のグループ分け」の背景や概要は以下の通りとのことでした。 部署全体の人数は 100人程度、またその部署内にいくつかのチームが存在する。 この部署には、特に若手について、別チームの社員との親交が薄いという課題があった。 そこで、別チームの若手同士や、若手と年次が上の社員の親睦を深めるために
![妻の雑務を最適化したい(Streamlit+PuLPでグループ分け最適化アプリ) - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/603e411ea135f8e2c48db00605d1028158b3f2ad/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU1JUE2JUJCJUUzJTgxJUFFJUU5JTlCJTkxJUU1JThCJTk5JUUzJTgyJTkyJUU2JTlDJTgwJUU5JTgxJUE5JUU1JThDJTk2JUUzJTgxJTk3JUUzJTgxJTlGJUUzJTgxJTg0JUVGJUJDJTg4U3RyZWFtbGl0JUVGJUJDJThCUHVMUCVFMyU4MSVBNyVFMyU4MiVCMCVFMyU4MyVBQiVFMyU4MyVCQyVFMyU4MyU5NyVFNSU4OCU4NiVFMyU4MSU5MSVFNiU5QyU4MCVFOSU4MSVBOSVFNSU4QyU5NiVFMyU4MiVBMiVFMyU4MyU5NyVFMyU4MyVBQSVFRiVCQyU4OSZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDbWlkZGxlJnM9NDE5NjlkMmMyMDM3NWRlNmRlODVhNDU3Mzc4MzY1ZTk%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwbnVraXBlaSUyMGluJTIwJUU2JUEwJUFBJUU1JUJDJThGJUU0JUJDJTlBJUU3JUE0JUJFJUU5JTg3JThFJUU2JTlEJTkxJUU3JUI3JThGJUU1JTkwJTg4JUU3JUEwJTk0JUU3JUE5JUI2JUU2JTg5JTgwJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzImdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1mZTliMjQ2ODNjMzg5YmUzNjE1ODM4MTgwYTI0MDYwNw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Df25b51a9c11bdd83858967a187724368)