SQPをDLL化してEXCELのソルバーに

2023年10月29日日曜日

16. 数理計画 ~逐次2次計画法(SQP)

t f B! P L

はじめに

Visual Studioで作ったソフトはDLL化することができるので、発電プラント最適運転問題のSQPをDLL化し、EXCELからソルバーとして呼び出せるようにしてみました。

ダウンロード

EXCELファイルとDLLはこちら → リンク

使い方

SqpDLL.dll は32bit版EXCELのDLLです。(すみません。64bit版EXCELでは動作しません。)

SqpDLL.dll はどのフォルダに置いてもいいのですが、発電プラント最適運転問題.xlsm を実行するには、発電プラント最適運転問題.xlsmVBAを編集する必要があります。

※VBAの編集のためには、開発タブからVisual Basicを選択する必要があります。開発タブが表示されていない場合は、EXCELの開発タブの表示方法についてはWeb検索お願いします。

① 開発タブを選択

② Visual Basicを選択

③ Module1を選択

発電プラント最適運転問題.xlsm のVBAModule1の最初に記載の下記の フルパス のところに SqpDLL.dll の フルパス を追記してください。

   Private Declare PtrSafe Sub Solver Lib _
   "C:\ 
フルパス \SqpDLL.dll" (ByRef Ps As Double, ByRef Po As Double)


できること

発電プラント最適運転問題.xlsm の稼働スケジュールのシートに設定された電力需要に応じて、発電プラントと揚水発電、揚水蓄電の最適な運転スケジュールをSQPで算出します。

このEXCELでは、電力需要のセルのデータのみ変更可能です。

最適化演算のボタンをクリックすると演算を開始します。

機能はDLLの作り込み次第ですが、EXCELでSQPソルバーを利用できるようになりました。


Translate

このブログを検索

ページビュー

QooQ