質問編集履歴

6

2020/01/22 09:52

投稿

ruruonety
ruruonety

スコア7

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,5 @@
45
45
  “出てきた結果について制約条件をつけて
46
46
 
47
47
  制約条件に対して式が変化するというもの”のところで詰まっています。
48
+
49
+ よろしくお願いします。

5

2020/01/22 09:52

投稿

ruruonety
ruruonety

スコア7

test CHANGED
File without changes
test CHANGED
@@ -29,3 +29,19 @@
29
29
  制約条件に対して式が変化するというものです。
30
30
 
31
31
  様々なライブラリを見てみましたが、なかなか見つからない状況です。
32
+
33
+ Excelでは、まずC7=B7+20とし、
34
+
35
+ D7=IF(C7>20,2*LOG(C7*10)+3*LOG(4*C7+20)+5,7*LOG(C7+3)+8*LOG(4*C7+20)+9)としています。
36
+
37
+ ゴールシークを実施する場合D7を計算するものをD7、目標値を20、変化させるセルをB7としています。
38
+
39
+ 結果B7=-21.2908981、D7=20.00000574と出ます。
40
+
41
+ pulpは確かに線形しかできないとあったので、
42
+
43
+ pyomoというものでもやってみましたが、
44
+
45
+ “出てきた結果について制約条件をつけて
46
+
47
+ 制約条件に対して式が変化するというもの”のところで詰まっています。

4

追記

2020/01/22 05:32

投稿

ruruonety
ruruonety

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
- 現在、学校であるプログラムについて作る課題をやっているのですが、調べても解決できないので質問させていただきます。
1
+ 現在、学校であるプログラムについて作る課題をやっているのですが、
2
+
3
+ 調べても解決できないので質問させていただきます。
2
4
 
3
5
  ある式があり、簡単に書くと
4
6
 
@@ -8,4 +10,22 @@
8
10
 
9
11
  です。a,bは別の計算からの値です。このときのxの値を求める計算をしたいと考えています。
10
12
 
13
+ 今まではExcelでやっている時は上の2式をifで繋いで、ゴールシークを使い求めていました。
14
+
11
- 今まではExcelでやっている時は上の2式をifで繋いで、ゴールシークを使い求めていました。そこでpythonを用いてif文で繋いでいる式の逆算方法を教えて頂きたいです。よろしくお願いします。
15
+ そこでpythonを用いてif文で繋いでいる式の逆算方法を教えて頂きたいです。よろしくお願いします。
16
+
17
+
18
+
19
+ ※追記
20
+
21
+ 言葉足りずだったので修正しました。
22
+
23
+ pulpなどを用いて逆算する場合だとxやa,bに対して制約条件が成り立つと考えています。
24
+
25
+ 間違っていたら申し訳ありません。
26
+
27
+ 今回は出てきた結果について制約条件をつけて
28
+
29
+ 制約条件に対して式が変化するというものです。
30
+
31
+ 様々なライブラリを見てみましたが、なかなか見つからない状況です。

3

2020/01/22 03:07

投稿

ruruonety
ruruonety

スコア7

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,6 @@
6
6
 
7
7
  (x+a)が100以下では、目標値=7log(x+a)+8log(4x+b)+9
8
8
 
9
- です。a,bは別の計算からの値です。このときのxの値を求める計算をしたいと考えいます。
9
+ です。a,bは別の計算からの値です。このときのxの値を求める計算をしたいと考えいます。
10
10
 
11
11
  今まではExcelでやっている時は上の2式をifで繋いで、ゴールシークを使い求めていました。そこでpythonを用いてif文で繋いでいる式の逆算方法を教えて頂きたいです。よろしくお願いします。

2

2020/01/22 01:39

投稿

ruruonety
ruruonety

スコア7

test CHANGED
File without changes
test CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  ある式があり、簡単に書くと
4
4
 
5
- 100以上では、目標値=2log(x+a)+3log(4x+b)+5
5
+ (x+a)が100以上では、目標値=2log(x+a)+3log(4x+b)+5
6
6
 
7
- 100以下では、目標値=7log(x+a)+8log(4x+b)+9
7
+ (x+a)が100以下では、目標値=7log(x+a)+8log(4x+b)+9
8
8
 
9
9
  です。a,bは別の計算からの値です。このときのxの値を求める計算をしたいと考えいます。
10
10
 

1

2020/01/22 01:12

投稿

ruruonety
ruruonety

スコア7

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,6 @@
6
6
 
7
7
  100以下では、目標値=7log(x+a)+8log(4x+b)+9
8
8
 
9
- です。a,bは別の計算からの値です。このときのxの値を知りたいのです。
9
+ です。a,bは別の計算からの値です。このときのxの値を求める計算をしたいと考えいます。
10
10
 
11
- 現在、Excelでやっている時は上の2式をifで繋いで、ゴールシークを使い求めていました。pythonを用いてif文で繋いでいる式の逆算方法を教えて頂きたいです。よろしくお願いします。
11
+ 今まではExcelでやっている時は上の2式をifで繋いで、ゴールシークを使い求めていました。そこでpythonを用いてif文で繋いでいる式の逆算方法を教えて頂きたいです。よろしくお願いします。