サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
qiita.com/Tsutomu-KKE@github
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
これなに Binderという無料サービスの紹介をします。 github上のJupyter notebook のリポジトリから、実行可能なサービスを簡単に試せます。 つまり、ブラウザだけでいろいろな実行環境を作ることができます。 サンプルで試してみる サンプルとして、私の公開しているパズルを解くSaitoTsutomu/OptForPuzzleを試してみましょう。 手順 http://mybinder.org/ を開いてください。 Build a repositoryに「SaitoTsutomu/OptForPuzzle」と入力して、submitボタンを押してください。 自動的にdockerのイメージが作成され状態が更新されます。 completedが緑になったら、右上のlaunchボタンを押してください。 Jupyter notebookが起動するので、適当に開いて実行してみましょう。 G
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Python-MIP版の記事を作成しました。モデラーとしてPuLPよりPython-MIPの方がメリットが多いので、ぜひ、下記の記事も参考にしてください。 最適化におけるPython(Python-MIP版) 概要 私は、業務で、組合せ最適化技術を用いたソフトウェア開発(例えば、物流における輸送コストの最小化など)を行っています。以前は、C++やC#を用いて、最適化のモデルを作成していましたが、最近ではPythonを用いることが多いです。 ここでは、最適化におけるPythonについて紹介します。 Pythonのメリット Pyt
はじめに 約30年前に大学で習った、全域木の列挙アルゴリズムをPythonで実装してみましたので、ご紹介します。 全域木とは、元のグラフの全ての点を含む木のことです。 アルゴリズム グラフの式表現を求めて、式表現を展開して列挙します。 例えば、三角形のグラフで各辺をそれぞれa,b,cとすると、式表現は組(abc)となり、これを展開するとab/ac/bcとなります。 グラフの式表現は以下のように求められます。 辺の最初の式表現として、アルファベット1文字を持たせます。 グラフは、式表現を維持しながら辺または辺と点を削除できます。 グラフが1点になったときに式表現が求められます。 グラフGの式表現(Expr(G))は、任意の1つの辺Eを選んで以下のように変形できます。(標準ルール) Expr(G) = 和(積(組(Expr(E)), Expr(GからEを削除)), 積(Expr(E), Exp
待ち行列では、サービスを提供するものをサーバ、サービスを提供されるものを顧客(クライアント)とよぶことにします。 顧客は、確率的(または確定的)に発生し、FIFO(First In First Out:先入れ先出し)の行列に並びます。 そして、先頭から確率的(または確定的)な時間をかけてサービスを受け、サービス終了後に抜けていきます。 このようなしくみを系またはシステムとよびます。 待ち行列における最も簡単なモデルは、M/M/1 モデルになります。 M/M/1 モデルとは 待ち行列では、(A)どのように到着するか、(B)どのようにサービスされるか、(C)サーバがいくつあるかが重要になります。 この3つの情報を、A/B/Cのように書く形式をケンドールの記号とよびます。つまり、M/M/1とは、以下のシステムを指します。 到着過程 = M :ポアソン到着(おおざっぱに言えばランダムに到着すること
安定結婚問題は安定マッチング問題の1種であり、安定マッチング問題は、研修医の病院への配属、大学生の研究室への配属など、広く使われています。 研修医配属については、アメリカでは1950年頃から利用されており、日本でも最近利用され始めました。 安定マッチング問題は、Pythonのortoolpyのstable_matchingで解くことができます。実際に試してみましょう。 Pythonで解く ortoolpyのstable_matchingは、研修医と配属先が同数の場合しか解くことができません。 ここでは、配属先Aの受入可能数が2の場合、配属先A_0、配属先A_1のように配属先のダミーを作成してマッチングさせることにしましょう。そのように拡張した安定マッチング問題を解くメソッド stable_matching2 を定義します。 from itertools import accumulate
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに DigitalOceanの管理ツール(dioc)を作成したので、ご紹介します。(利用については自己責任でお願いします。) 操作は、Ubuntu上で、DockerとPython3.5を用います。Windowsの方は、Ubuntuを入れてDockerを使う方法を参考に、VirtualBox、Ubuntu14、Docker1をインストールしてください。 Dockerが使えれば、Dockerイメージdioc-python-3.5を用いてすぐに始められます。 用語 DigitalOcean: AWSのEC2のようなクラウドサービス。 D
from ipykernel.kernelbase import Kernel class KeyValue(Kernel): implementation = 'KeyValue' implementation_version = '0.1' language = 'no-op' language_version = '0.1' language_info = {'name': 'KeyValue', 'mimetype': 'text/plain'} banner = 'Dictionry of Key, Value' _d = {} def do_execute(self, code, silent, store_history=True, user_expressions=None, allow_stdin=False): s = code.strip() if not silen
itertools、more-itertools(10.3.0)の紹介 (2024年7月更新) 繰り返し関連のitertools、more-itertoolsについて紹介します。 itertoolsは標準ライブラリーなのでそのまま使えます。more-itertoolsは、pip install more-itertoolsとインストールすることで使えます。 各機能は、後述の表のサンプルコードという列を参考にしてください。 準備 サンプルコードをシンプルにするため、あらかじめ以下を実行したものとします。 from itertools import * from operator import gt, neg, not_, sub from more_itertools import * L = list # リスト化 L0 = lambda it: [i[0] for i in it] #
これは、アルゴリズム Advent Calendar 2015の3日目の記事です。 はじめに 実験計画法の簡単な紹介と、その発展として組合せ最適化によるアプローチを紹介します。 背景 センサー情報からある解析をしたいとします。 センサーは、1万円のものと3万円のものがあり、置かないこともあるので、3種類の選択があります。 センサーの設置場所は、20カ所の候補があります。 全センサーの総購入費用は5万円以下に抑えないといけません。 どこにいくらのセンサーを置いたら、効率よく検証できるのかを知りたいものとします。 ケースの例としては、「A地点とB地点に1万円のセンサー、C地点に3万円のセンサーを配置」となります。 用語 下記の用語を使います。 要因:水準を決めたい検討対象。今回は、センサーの配置候補。 水準:要因の取り得る値。今回は、センサーの費用で、0万円、1万円、3万円の3種類。 交互作用
これは、Python Advent Calendar 2015の3日目の記事です。 何をするのか? WindowsやMacで、いろいろなパッケージを含めてJupyter(IPython Notebook)を使おうとすると、インストールが大変です。そこで、今回は、Dockerを使って、Windows(64ビット)上にJupyterを起動するまでを、説明します。利用できるパッケージは、DockerHubをご確認ください。 サクッとやりたい場合は、Docker Toolboxを使う方法を見てください。 いろいろ試したい場合は、Ubuntuを入れてDockerを使う方法を見て下さい。 Docker Toolboxを使う方法 Docker Toolboxを使うことで、簡単にDockerを使えるようになります。 Docker Toolboxをインストールすると、下記のソフトウェアが使えるようになります
最大安定集合問題の解で選ばれなかったノードは最小頂点被覆問題の解となる。 配送最適化を配送計画のように、XX最適化をXX計画と呼ぶことも多いが、XX計画は古い呼び方となる。 実行してみよう Dockerから起動する場合 Docker Toolboxをインストールし、Kitematicから、Dockerイメージtsutomu7/typical_optimizationを実行してください。 実行したら http://localhost:8888 を開いてください。Jupyter Notebook のパスワードは jupyter です。 Dockerのインストールに関しては、DockerでJupyterを起動するまでも参考にしてください。 ローカルにインストールし実行する場合 下記ソフトウェアをインストールしてください。インストール後は、上記の各問題のリンク先のコードを実行できます。 Pytho
野菜の選び方はナップサック問題、乗り換え駅探索は、最短路問題といいます。典型問題は、よく研究もされているので、多くの場合、効率的な解法があります。あるいは、定式化がされているので、すぐ解くことができます。あとで、やってみましょう。ここで、あげている全ての典型問題の実行例は、典型問題と実行方法をご覧ください。 汎用問題 最近、私がやっているコンテナの仕事のお話しをします。 世界中の人たちが、いろいろなものを安く買えるのはコンテナ輸送のおかげです。中国などで生産したものを日本やアメリカやヨーロッパに、大量に安く運べるからです。でも、空のコンテナが、どんどんたまります。また中国に戻さないといけません。いつ、どこからどこに戻すかを決めるのが、最小費用流問題になります。ところが、最小費用流問題で表せない制約条件もあります。1 つが、カボタージュとよばれるものです。カボタージュというのは、国内のみの輸
.NetFramework3.0から音声合成、音声認識ができますが日本語は標準で入っていません。 有料で買うこともできますが、無料でもMicrosoftから出ています。 下記から x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi をダウンロードして実行(64ビットOSでもx86で実行確認しています) DL:http://www.microsoft.com/download/en/details.aspx?id=27225 下記から MSSpeech_TTS_ja-JP_Haruka.msi をダウンロードして実行 DL:http://www.microsoft.com/download/en/details.aspx?id=27224 addHaruka.regを実行。ちなみに、削除は、delHaruka.reg 追加:http://p
このページを最初にブックマークしてみませんか?
『https://qiita.com/Tsutomu-KKE@github』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く