にんべんきんべんに

@サンディエゴ

CALENDAR
S M T W T F S
   1234
567891011
12131415161718
19202122232425
2627282930  
<< November 2017 >>
IN THIS PAGE
RECENT COMMENT
  • アメリカでウォシュレットを取り付ける方法
    jenocky (01/16)
  • アメリカでウォシュレットを取り付ける方法
    Yuzo Takanashi (07/09)
  • 米系航空会社が、運航の効率化を図るため、羽田デトロイト便の運航休止を予定していたのだが、その開始が3日間前倒しで突然開始された上、その空港カウンターでの日本人への応対が悲惨だった話。アメリカでの交渉ごとは難しい。。
    イ (03/25)
  • 米系航空会社が、運航の効率化を図るため、羽田デトロイト便の運航休止を予定していたのだが、その開始が3日間前倒しで突然開始された上、その空港カウンターでの日本人への応対が悲惨だった話。アメリカでの交渉ごとは難しい。。
    Sば (03/25)
  • 米系航空会社が、運航の効率化を図るため、羽田デトロイト便の運航休止を予定していたのだが、その開始が3日間前倒しで突然開始された上、その空港カウンターでの日本人への応対が悲惨だった話。アメリカでの交渉ごとは難しい。。
    イ (03/24)
  • 米系航空会社が、運航の効率化を図るため、羽田デトロイト便の運航休止を予定していたのだが、その開始が3日間前倒しで突然開始された上、その空港カウンターでの日本人への応対が悲惨だった話。アメリカでの交渉ごとは難しい。。
    Sば (03/23)
  • 日本人ディベーターの英語ディベートに正しい英語を求めるべきなんか?
    イ (12/14)
  • 日本人ディベーターの英語ディベートに正しい英語を求めるべきなんか?
    Takenaka@NAFA顧問理事(おっさんOB) (12/14)
  • UCSDのRady MBAなのにEcon Ph.D.の計量経済学Aを取った理由
    イ (12/12)
  • UCSDのRady MBAなのにEcon Ph.D.の計量経済学Aを取った理由
    いっせい (12/11)
RECENT TRACKBACK
LINKS
ARCHIVES
PROFILE
エクセルのソルバーでIF文は使ってはいけない(なるたけ)
ということが算数の授業で出てきた。

ソルバーって素晴らしいツール。
変数のセルを指定して、目的のセルを最大化したり、
ある値に近づけたりすることができる。

現実的な話では
23 X + 17 Y = 29
31 X + 11 Y = 13
とか、面倒な連立方程式を解くことにも使える。

このとき、方程式はインプットする条件文として出てくるんだけど、
この条件文は何でも良いと言うわけじゃないんですな。

基本、線形な感じが推奨される。
最低でも座標空間で表現できる何かしらの曲線。

ここにIF文は、あんまりやっては行けないことだという話。
確かにその通りで、IF文使って実際に色々試してみると、変数の数が
少ないときは何とか答えが出るんだけど、変数の数が多くなってくると
正しい答えに行き着かない。

結局ソルバーがなんで解けるかっていうと、座標空間での表現ができるから
しらみつぶしでない方法でも効率的に答えを探せるという話なんだと。

なので、IF文で示されるものをいかに線形っぽく変換するか
というのが重要なわけ。授業ではその例の幾つかを挙げて
終了だったのだけど、ちょっとここで一般化してみたくなった。

ここでゴールは 「X >= 3 ⇒ Y <= 2」を線形的に表現すること。
X、Yともに10以下の【整数】としましょう。

このとき肝になってくるのが、Binary:0か1っていう変数


<メソッド1>
まず、 「X >= 4 ⇒ B = 0」みたいな、右側がbinaryのパターン

1.左から=を取り払う
 X > 3 ⇒ B = 0

2.左を>0の形式に直す
 X - 3 > 0 ⇒ B = 0

3.右を「B=1」か「1-B=1」にする
 X - 3 > 0 ⇒ 1 - B = 1

4.「>0」、「=1」を取っ払い、真ん中に「<=」を置く
 X - 3 <= 1 - B

5.このとき、左の最大値(あるいはそれより大きい数字)をMとする
 M = MAX (X-3) = 7

6.そのMは右側に掛けておく
 X - 3 <= 7(1 - B)

こたえ:
 X + 7B <= 10


<メソッド2>
次に「B = 0 ⇒ Y >= 4」みたいな、左側がbinaryのパターン

0.対偶を取る
 Y < 4 ⇒ B = 1

これでメソッド1になる。


<メソッド3>
最後に「X >= 3 ⇒ Y <= 2」みたいなbinary無しのパターン

−1.「B=1」をかまして既知のメソッド二つに分ける
 X >= 3 ⇒ B = 1 <メソッド1>
 B = 1 ⇒ Y <= 2 <メソッド2>

0.メソッド2は対偶を取る
 X >= 3 ⇒ B = 1 <メソッド1>
 Y > 2 ⇒ B = 0 <メソッド1>

これでメソッド1になる。このまま続けると

1.左から=を取り払う
 X > 2 ⇒ B = 1
 Y > 2 ⇒ B = 0

2.左を>0の形式に直す
 X - 2 > 0 ⇒ B = 1
 Y - 2 > 0 ⇒ B = 0

3.右を「B=1」か「1-B=1」にする
 X - 2 > 0 ⇒ B = 1
 Y - 2 > 0 ⇒ 1-B = 1

4.「>0」、「=1」を取っ払い、真ん中に「<=」を置く
 X - 2 <= B
 Y - 2 <= 1-B

5.このとき、左の最大値(あるいはそれより大きい数字)をMとする
 M1 = MAX(X-2) = 8
 M2 = MAX(Y-2) = 8

6.そのMは右側に掛けておく
 X - 2 <= 8B
 Y - 2 <= 8(1-B)

こたえ:
 X - 8B <= 2
 Y + 8B <= 10
| - | 10:32 | comments(0) | trackbacks(1) |









http://fumin.jugem.cc/trackback/952
★音速パソコン教室 Office2007講座3点セット+特典12個
■ 今日のお題: 音速パソコン教室 Office2007講座3点セット+特典12...
| 無知の知 | 2009/12/10 6:59 PM |
このページの先頭へ