Pythonでビルドして印刷する方法-ループによって生成された最適化された値のリストをGEKKO?

ロベルト

最適化する4つのパラメーター(n1、n2、n3、n4)を持つ目的関数があります。目的関数はTの関数であるため、この最適化は「for T in T」のループで実行する必要があります。その結果、各Tに対して、パラメーターのセットを取得します。T、n1、n2、n3、n4を含む個別のリストを作成して印刷するにはどうすればよいですか?

ループの内側と外側で、さまざまな「印刷」方法を試しました。こことGEKKOのドキュメントでも例を検索しましたが、それでも私にとっては挑戦です。前もって感謝します。

import math
import numpy as np
from gekko import GEKKO

T = np.arange(1, 10, 2)
for T in T:
    A = 3/(T**2)
    B = 20-T**2
    C = 3+T
    D = T

    mA = A-T*C
    mB = B-T*D

    # Minimization routine

    from gekko import GEKKO
    m = GEKKO()

    # Variables to be minimized:
    n1, n2, n3, n4 = [m.Var() for i in range(4)]
    var = [n1, n2, n3, n4]

    # Initial values:
    n0 = [3,2,3,3]
    nL = np.ones(len(n0))*10**-10
    nU = np.ones(len(n0))*10**10
    for i,x in enumerate(var):
        x.value = n0[i]
        x.lower = nL[i]
        x.upper = nU[i]

    nt = m.Intermediate(n1 + n2 + n3 + n4)

    # Objective:
    m.Obj(T*A*mA + B*mB + C*D/nt)
    # Set global options
    m.options.IMODE = 3

    # Solve minimization
    m.solve()

    print(n1, n2, n3, n4)
    print(str(n1.value), str(n2.value), str(n3.value), str(n4.value))
ジョン・ヘデングレン

ここに示すように、Pythonからデータエクスポートする方法は複数あります結果を2次元リスト、NumPy配列、またはPandasデータフレームに取り込む必要があります。以下は、CSVファイルなど、Excelで開くことができる形式に値を取得する必要がある場合の元のスクリプトへの変更です。このスクリプトは、NumPyを使用してファイルを書き込みます。

import math
import numpy as np
from gekko import GEKKO

T = np.arange(1, 10, 2)
z = [None]*len(T)
for j,T in enumerate(T):
    A = 3/(T**2)
    B = 20-T**2
    C = 3+T
    D = T

    mA = A-T*C
    mB = B-T*D

    # Minimization routine

    from gekko import GEKKO
    m = GEKKO()

    # Variables to be minimized:
    n1, n2, n3, n4 = [m.Var() for i in range(4)]
    var = [n1, n2, n3, n4]

    # Initial values:
    n0 = [3,2,3,3]
    nL = np.ones(len(n0))*10**-10
    nU = np.ones(len(n0))*10**10
    for i,x in enumerate(var):
        x.value = n0[i]
        x.lower = nL[i]
        x.upper = nU[i]

    nt = m.Intermediate(n1 + n2 + n3 + n4)

    # Objective:
    m.Obj(T*A*mA + B*mB + C*D/nt)
    # Set global options
    m.options.IMODE = 3

    # Solve minimization
    m.solve(disp=False)

    result = [T]
    for x in var:
        result.append(x.value[0])
    z[j] = result

zn = np.array(z)
np.savetxt('z.txt',zn,delimiter=',',comments='',header='T,n1,n2,n3,n4')

Excelの結果テーブル

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

sympyによって生成されたコードを最適化する

分類Dev

2列を印刷するためにzipによって生成されたリストでio操作をフォールドする方法は?

分類Dev

リスト内の他の列によってグループ化された列を合計する方法は?

分類Dev

SQL Server ManagementStudioのEntityFrameworkによって生成されたSQLクエリを最適化する方法は?

分類Dev

r.jsを利用したノードビルドスクリプトによって生成されたファイルは何もしないようです

分類Dev

値がループインデックスと等しい別の配列によってインデックス付けされた配列からの値を合計するnumpyループを最適化する方法

分類Dev

pandas DataFrame によってグループ化された値の合計を取得し、numpy マトリックスを作成する方法は?

分類Dev

最適化されたビルドと最適化されていないビルドの両方でrequirejsアプリを初期化する

分類Dev

ggplotで数値変数によってソートされたグループ化されたカテゴリ変数を使用してサブプロットを生成するにはどうすればよいですか?

分類Dev

パンダによって生成されたグループ化されたヒストグラムに凡例とタイトルを追加する方法

分類Dev

最後に生成された数に適用された方程式に従ってシーケンスが増加するベクトルを生成します

分類Dev

Bash:ループによって生成された変数の最後にあるコンマを削除する方法

分類Dev

numpyによって決定されたタプルリストの中央値に関連付けられたレコードを出力するPython

分類Dev

Rのループによって生成されたデータフレームのリストを作成するにはどうすればよいですか?

分類Dev

ループによって生成された複数のポップアップをトリガーする

分類Dev

clangによって最適化された単純なループ、どのように?

分類Dev

Pythonでネストされたforループを最適化する方法

分類Dev

forループによって生成されたワーカースレッドのリストがforループの反復を超えています

分類Dev

NumPyのセクションによって行われたベクトル化された操作の最適化

分類Dev

DataFrameの別の列によってグループ化された列の値をシフトする

分類Dev

SQLiteは外部制約によってネストされたクエリを最適化しますか

分類Dev

PowerShellスクリプトによって生成されたXMLノード値を変更する方法を理解するのに問題があります

分類Dev

「groupby()」によって生成されたグループをリストとして取得するにはどうすればよいですか?

分類Dev

列の基準によってグループ化された値の合計に対する値のパーセンテージのマトリックス

分類Dev

ループによって生成された最大値を表示します

分類Dev

ブートストラップによって生成されたラベルの名前を変更します

分類Dev

最適化されたrequire.jsを使用して外部スクリプトをロードする方法は?

分類Dev

IPGeoLocation APIによって返されたjsonを逆シリアル化し、.chtmlビューで使用する方法

分類Dev

リストの付属物を含むネストされたforループを最適化する方法は?

Related 関連記事

  1. 1

    sympyによって生成されたコードを最適化する

  2. 2

    2列を印刷するためにzipによって生成されたリストでio操作をフォールドする方法は?

  3. 3

    リスト内の他の列によってグループ化された列を合計する方法は?

  4. 4

    SQL Server ManagementStudioのEntityFrameworkによって生成されたSQLクエリを最適化する方法は?

  5. 5

    r.jsを利用したノードビルドスクリプトによって生成されたファイルは何もしないようです

  6. 6

    値がループインデックスと等しい別の配列によってインデックス付けされた配列からの値を合計するnumpyループを最適化する方法

  7. 7

    pandas DataFrame によってグループ化された値の合計を取得し、numpy マトリックスを作成する方法は?

  8. 8

    最適化されたビルドと最適化されていないビルドの両方でrequirejsアプリを初期化する

  9. 9

    ggplotで数値変数によってソートされたグループ化されたカテゴリ変数を使用してサブプロットを生成するにはどうすればよいですか?

  10. 10

    パンダによって生成されたグループ化されたヒストグラムに凡例とタイトルを追加する方法

  11. 11

    最後に生成された数に適用された方程式に従ってシーケンスが増加するベクトルを生成します

  12. 12

    Bash:ループによって生成された変数の最後にあるコンマを削除する方法

  13. 13

    numpyによって決定されたタプルリストの中央値に関連付けられたレコードを出力するPython

  14. 14

    Rのループによって生成されたデータフレームのリストを作成するにはどうすればよいですか?

  15. 15

    ループによって生成された複数のポップアップをトリガーする

  16. 16

    clangによって最適化された単純なループ、どのように?

  17. 17

    Pythonでネストされたforループを最適化する方法

  18. 18

    forループによって生成されたワーカースレッドのリストがforループの反復を超えています

  19. 19

    NumPyのセクションによって行われたベクトル化された操作の最適化

  20. 20

    DataFrameの別の列によってグループ化された列の値をシフトする

  21. 21

    SQLiteは外部制約によってネストされたクエリを最適化しますか

  22. 22

    PowerShellスクリプトによって生成されたXMLノード値を変更する方法を理解するのに問題があります

  23. 23

    「groupby()」によって生成されたグループをリストとして取得するにはどうすればよいですか?

  24. 24

    列の基準によってグループ化された値の合計に対する値のパーセンテージのマトリックス

  25. 25

    ループによって生成された最大値を表示します

  26. 26

    ブートストラップによって生成されたラベルの名前を変更します

  27. 27

    最適化されたrequire.jsを使用して外部スクリプトをロードする方法は?

  28. 28

    IPGeoLocation APIによって返されたjsonを逆シリアル化し、.chtmlビューで使用する方法

  29. 29

    リストの付属物を含むネストされたforループを最適化する方法は?

ホットタグ

アーカイブ