プログラミング所感 - 前へ 目次 次へ


13/01/07(月)

今年の抱負は なし。
Qiita始めた。GitHub更新している。プログラミング関連のネタはQiitaに書くことにしようかな。
https://qiita.com/users/Tsutomu-KKE@github
https://github.com/Tsutomu-KKE
https://github.com/SaitoTsutomu

13/01/24(木)

Qiitaに YAMLの記事を投稿。http://qiita.com/items/50cd1db54eebd5599e7b

13/01/29(火)

ここ何ヶ月か VS2010が調子悪かったのだが、キングソフト辞書のせいだった。

13/01/30(水)

XMLで管理しているデータが ギガサイズになってきたので、どうしようか考えている。 実際には、圧縮しているので1/10ぐらいであるが、タグのところの冗長性が気になる。 そこで、YAMLを検討していて、仕様としては気に入っているのだが、性能が悪い。 まぁ、マイクロソフトのXmlSerilizerと個人作成のYamlSerializerでは仕方ないのだろうが。
http://yamlserializer.codeplex.com/
会社のサイトOAuth2対応にすればいいのに。

13/02/04(月)

YamlSerializerでは 大規模データは扱えない。 少なくともSerializeに関しては、全オブジェクトのアドレスを保持しチェックするので。 実際には、Desirializeでも大量のメモリを使い時間も遅い。

13/02/06(水)

1.01の法則と0.99の法則 という話を読んだ。 0.99^365≒0.0255 から「1%でも1年間、手を抜き続けるとほとんど何もできない」という ものらしいが、なぜ足し算でなくかけ算なのだろう?かけ算だと1日休めば、0になってしまう。

13/02/08(金)

あと6週間で 納品10個。

13/02/10(日)

時刻あわせ の方法。 「w32tm /resync」
エラーが出たら、下記とか。
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
w32tm /resync
GUIなら、コンパネの管理ツールのサービスの「Windows Time」を「開始」「自動」にして、サーバは、「ntp.jst.mfeed.ad.jp」などにする。

13/02/21(木)

ORに変わる名称を 考えた。 「modeling & optimization in engineering」略してMOEだ。
メモ:OR条件をLPで表す。
	f_i>= 0 exist i
	↓
	sum a_i f_i>= 0
	a_i>= 0
	sum a_i = 1

13/03/04(月)

PythonやC#のvar に慣れてると、たまにC++使うと、型名書くのがつらい。 typedef 使っても 20文字くらいのはざらだし、似たようなクラスが10個もあると大変。

13/03/07(木)

OR学会終わった。 初めて実行委員になった。

1つのモデルで各種ソルバーを扱えるようにしている。 使ったことのあるソルバは、 Lindo,LINGO,Gurobi,CPLEX,XPRESSMP,SCIP,Symphony,GLPK,lp_solve,SOPT,PyOpt,OpenOpt,etc。 学生のときは、内点法でも作ってYodaと名付けた。性能はOB1と互角ぐらい。


13/03/27(水)

もう何個納品したかわからない。 乗り切ったのだろうか。

13/04/20(土)

16から19まで シンガポール出張で、今日はセミナーだった。 会場の表門が施錠されてしまい、どうなることかと思ったが無事?終わった。疲れた。

13/05/11(土)

恒常的に忙しい。 以前、数独を解くプログラムを書いたが、それなりに複雑になった。 今、また、定式化して解くのを書いたが問題の読み込み含めて20行ほどしかない。 計算時間もGLPKで一瞬である。MIPのデメリットは、解が一通りしかないかわからないことである。 これは、目的関数を変えて解き直すことによって一通りかどうかチェックできるかもしれない。

13/07/08(月)

イムリが 面白い。

13/07/19(金)

LPファイルから MPSへの変換。
cbcを使って、cbc LPファイル -presolve=off -export MPSファイル

13/08/23(金)

100円ショップで スパゲッティと紙粘土を買って、構造物を作り、なるべく高くしよう。 時間は20分で。スパゲッティが結構やわなので、なかなか難しい。

PuLP勉強会用資料作成中。演習問題が15題。PuLP説明用Webでも作ろうかと思ったら、小林さんのページを見つけた。


13/10/08(火)

youtubeで 田村先生の動画見つけた。

13/10/09(水)

PuLP遅い。 私の作ったやつより数十倍遅い。

13/10/25(金)

ダークソウル2の ネットワークテストに申し込んだのだが、1回、2回と外れて、3回目に申し込んだ3アカウント全部当選だった。 相当の当選者がいる模様。

13/11/01(金)

プログラミングコンテストチャレンジブックの 平均最大化問題は、整数分数計画問題だ。本では2分探索で解いている。 この場合、n桁の精度が必要なら、O(n)の反復回数になる。 2分探索ではなく、解に近い3点から2次近似して次の点を求めるようにすると、 はるかに速く収束する。実際、初期点以外では、3回の反復で誤差0となった。 (2分探索では1e-10以下にするのに31回かかる)

13/12/02(月)

岡本先生のパズルを 全部解いてみた。だいたい50行以下だ。 http://www.is.titech.ac.jp/~okamoto/PDF/2007/puzzleip.pdf

13/12/05(木)

数理最適化演習勉強会 の資料を作った。略してMOE勉強会。課題は28題。

13/12/09(月)

Mathematical Optimization Exercise一覧
  • 演習1 魔方陣
  • 演習2 カックロ
  • 演習3 数独
  • 演習4 ビンパッキング
  • 演習5 ビンパッキング(列生成法)
  • 演習6 施設配置(p-メディアン)
  • 演習7 施設配置(p-センター)
  • 演習8 施設配置(p-センター2分探索)
  • 演習9 集合被覆
  • 演習10 最小費用流
  • 演習11 割当(平準化)
  • 演習12 割当(平準化2分探索)
  • 演習13 包絡分析法(DEA)
  • 演習14 ロジスティクスネットワーク
  • 演習15制約つきナップサック
  • 演習16 ロットサイズ
  • 演習17 シフトスケジューリング
  • 演習18 ポートフォリオ
  • 演習19 ののぐらむ
  • 演習20 美術館
  • 演習21ナンバーリンク
  • 演習22 覆面算
  • 演習23 不等式
  • 演習24 ビルディングパズル
  • 演習25 ウォールロジック
  • 演習26 波及効果
  • 演習27 ナンバースケルトン
  • 演習28 スリザーリンク
  • 演習29 四角に切れ
  • 演習30 ましゅ
  • 演習31 橋をかけろ
  • 演習32 最長しりとり

13/12/17(火)

MOE勉強会の 課題は42個になった。パズル系のプログラムの行数は以下のカッコの通り(入出力含む)
  • 演習1 魔方陣(19)
  • 演習2 カックロ(31)
  • 演習3 数独(21)
  • 演習19 ののぐらむ(30)
  • 演習20 美術館(38)
  • 演習21 ナンバーリンク(41)
  • 演習22 覆面算(45)
  • 演習23 不等式(29)
  • 演習24 ビルディングパズル(40)
  • 演習25 ウォールロジック(35)
  • 演習26 波及効果(29)
  • 演習27 ナンバースケルトン(47)
  • 演習28 スリザーリンク(49)
  • 演習29 四角に切れ(35)
  • 演習30 ましゅ(69)
  • 演習31 橋をかけろ(57)
  • 演習34 のりのり(20)
  • 演習35 ブロックパズル(42)
  • 演習36 タイルペイント(21)
  • 演習37 因子の部屋(27)
  • 演習38 黒どこ(35)
  • 演習39 推理パズル(39)
  • 演習40 ひとりにしてくれ(25)
  • 演習41 へやわけ(51)
  • 演習42 ペイントエリア(31)

Pythonでssh

  • PyCrypto 2.6 for Python 2.7 64bitを下記から入れる
    http://www.voidspace.org.uk/python/modules.shtml#pycrypto
  • paramikoを入れる(python setup.py install)
    http://www.lag.net/paramiko/
  • 下記をssh.pyにしてPython27/libに入れる
    http://media.commandline.org.uk/code/ssh.txt
  • ubuntuで下記のようにsshサーバインストール
    sudo apt-get install openssh-server
サンプル
import ssh
s = ssh.Connection(ホスト, username=ユーザ, password=パスワード)
s.put(ファイル)
s.get(ファイル)
s.execute(コマンド)
s.close()

13/12/27(金)

IronPythonから PuLP使えた。

14/01/06(月)


プログラミング所感 - 前へ 目次 次へ