質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

最適化

最適化とはメソッドやデザインの最適な処理方法を選択することです。パフォーマンスの向上を目指す為に行われます。プログラミングにおける最適化は、アルゴリズムのスピードアップや、要求されるリソースを減らすことなどを指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1231閲覧

Rにおいて変数の扱い. (0-1整数計画問題)

tomokomomoko

総合スコア10

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

最適化

最適化とはメソッドやデザインの最適な処理方法を選択することです。パフォーマンスの向上を目指す為に行われます。プログラミングにおける最適化は、アルゴリズムのスピードアップや、要求されるリソースを減らすことなどを指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/11/11 07:12

編集2018/11/11 07:39

今の状況

下記のRのライブラリを使用し,
lpSolveにおいて,0-1整数計画問題を実行しています.
エラーなく,結果がでていますが,

2点困っています

1.現状は1行ずつしか結果が出せない.

lp("max",v,w, "<=", 100000, all.bin=T) 1,0,1,1,0,1,1,1,1,1

理想は,条件の100000を少しずつ増やして結果を一気に出したい.

R

12lp("max",v,w, "<=", 100000, ←ここを変える all.bin=T) 3 41,1,1,0,0,0,0,0,0,0 51,1,1,1,1,0,0,1,0,0 61,1,1,1,1,1,1,1,0,0 71,1,1,1,1,1,1,1,1,0 81,1,1,1,1,1,1,1,1,1

2.R Guiにおいて上記結果のcsv出力の方法がわからない.

検索したり,してやってみましたが,私の理解不足なのか思うようにできません.上記結果をcsvに下記の例のように出力できる方法をご教授いただきたいです.

csv

11,1,1,0,0,0,0,0,0,0 21,1,1,1,1,0,0,1,0,0 31,1,1,1,1,1,1,1,0,0 41,1,1,1,1,1,1,1,1,0 51,1,1,1,1,1,1,1,1,1

ソースコード

R

1library(lpSolve) 2 v <- c(1.4,0.3,0.2,1.4,0.5,1.2,0.7,0.5,1.5,0.9) 3 v 4 5 w <- matrix(c(8133.332676,1706.618625,941.1447107,8423.01453,2674.32118,7354.495538,4414.198078,2660.75215,8729.872722,5155.979678), nrow=1) 6 w 7 8 9 lp("max",v,w, "<=", 100000, all.bin=T) 10 11 lp("max",v,w, "<=", 200000, all.bin=T) 12 13 lp("max",v,w, "<=", 300000, all.bin=T) 14 15 lp("max",v,w, "<=", 400000, all.bin=T) 16 17 lp("max",v,w, "<=", 500000, all.bin=T) 18 19 lp("max",v,w, "<=", 600000, all.bin=T) 20 21 lp("max",v,w, "<=", 700000, all.bin=T) 22 23 lp("max",v,w, "<=", 800000, all.bin=T) 24 25 lp("max",v,w, "<=", 900000, all.bin=T) 26 27 lp("max",v,w, "<=", 1000000, all.bin=T) 28 29 30 lp("max",v,w, "<=", 100000, all.bin=T)$solution 31 32 lp("max",v,w, "<=", 200000, all.bin=T)$solution 33 34 lp("max",v,w, "<=", 300000, all.bin=T)$solution 35 36 lp("max",v,w, "<=", 400000, all.bin=T)$solution 37 38 lp("max",v,w, "<=", 500000, all.bin=T)$solution 39 40 lp("max",v,w, "<=", 600000, all.bin=T)$solution 41 42 lp("max",v,w, "<=", 700000, all.bin=T)$solution 43 44 lp("max",v,w, "<=", 800000, all.bin=T)$solution 45 46 lp("max",v,w, "<=", 900000, all.bin=T)$solution 47 48 lp("max",v,w, "<=", 1000000, all.bin=T)$solution

補足情報(FW/ツールのバージョンなど)

R 3.3.2 R Guiを使用.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1.for文で処理して空のデータフレームdata.frame()に貯める感じでいかがですか?
2.csv出力にはwrite.table()を使いました。

こちらではlp()の出力結果に再現性が無いのでご参考程度に。

R

1library(lpSolve) 2 v <- c(1.4,0.3,0.2,1.4,0.5,1.2,0.7,0.5,1.5,0.9) 3 w <- c(8133.332676,1706.618625,941.1447107,8423.01453,2674.32118,7354.495538,4414.198078,2660.75215,8729.872722,5155.979678) 4 5arg <- seq(100000,1000000,by=100000) 6df <- data.frame() 7 8for(i in 1:length(arg)){ 9 df.new <- lp("max",v,w, "<=", arg[i], all.bin=T)$solution 10 df <- rbind(df, df.new) 11} 12 13write.table(df,"パス名.csv",sep=",",row=F, col=F)

投稿2018/11/13 05:35

編集2018/11/13 05:36
fermat

総合スコア183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomokomomoko

2018/11/19 08:47

ありがとうございました! おかげで解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問