(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-01
(45)【発行日】2024-05-13
(54)【発明の名称】調達先配分方法およびその装置
(51)【国際特許分類】
G06Q 10/04 20230101AFI20240502BHJP
G06Q 50/06 20240101ALI20240502BHJP
【FI】
G06Q10/04
G06Q50/06
(21)【出願番号】P 2020199929
(22)【出願日】2020-12-01
【審査請求日】2023-03-07
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317015294
【氏名又は名称】東芝エネルギーシステムズ株式会社
(74)【代理人】
【識別番号】100081961
【氏名又は名称】木内 光春
(74)【代理人】
【識別番号】100112564
【氏名又は名称】大熊 考一
(74)【代理人】
【識別番号】100163500
【氏名又は名称】片桐 貞典
(74)【代理人】
【識別番号】230115598
【氏名又は名称】木内 加奈子
(72)【発明者】
【氏名】豊嶋 伊知郎
【審査官】庄司 琴美
(56)【参考文献】
【文献】国際公開第2018/070419(WO,A1)
【文献】特開2018-142239(JP,A)
【文献】特開2013-194976(JP,A)
【文献】特開2015-119575(JP,A)
【文献】特開2016-033817(JP,A)
【文献】国際公開第2011/067992(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
配分計算の諸元である調達先のデータを格納する調達先格納ステップと、
調達先の登録数を最大値として可変長な階層構造を持つ優先度を格納する優先度格納ステップと、
各優先度に1個以上の調達先が所属するように対応付けた優先度割付を生成する優先度割付生成ステップと、
前記優先度割付を格納する優先度割付格納ステップと、
前記優先度割付を読み出し、各調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、個別上限判定制約として生成する個別上限判定制約生成ステップと、
前記優先度割付を読み出し、各優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、階層上限判定制約として生成する階層上限判定制約生成ステップと、
前記優先度割付を読み出し、直上位階層の優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達した場合に限り、下位階層の優先度に所属する調達先への配分を可能にする数式を、配分制限制約として生成する配分制限制約生成ステップと、
前記個別上限判定制約、前記階層上限判定制約および前記配分制限制約を、最適化問題優先度制約として格納する最適化問題優先度制約格納ステップと、
最適化問題目的関数を格納する最適化問題目的関数格納ステップと、
前記最適化問題優先度制約および前記最適化問題目的関数を読み出し、対応する最適化問題を解く最適化実行ステップと、
最適化結果を格納する最適化結果格納ステップと、
最適化結果を表示する最適化結果表示ステップと、を
コンピュータが実行する調達先配分方法。
【請求項2】
配分計算の諸元である調達先のデータを格納する調達先格納部と、
調達先の登録数を最大値として可変長な階層構造を持つ優先度を格納する優先度格納部と、
各優先度に1個以上の調達先が所属するように対応付けた優先度割付を生成する優先度割付生成部と、
前記優先度割付を読み出し、各調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、個別上限判定制約として生成する個別上限判定制約生成部と、
前記優先度割付を読み出し、各優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、階層上限判定制約として生成する階層上限判定制約生成部と、
前記優先度割付を読み出し、直上位階層の優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達した場合に限り、下位階層の優先度に所属する調達先への配分を可能にする数式を、配分制限制約として生成する配分制限制約生成部と、
最適化問題目的関数を格納する最適化問題目的関数格納部と、
前記個別上限判定制約、前記階層上限判定制約および前記配分制限制約を最適化問題優先度制約として読み出し、且つ前記最適化問題目的関数を読み出して、対応する最適化問題を解く最適化実行部と、
最適化結果を格納する最適化結果格納部と、
最適化結果を表示する最適化結果表示部と、
を備えた調達先配分装置。
【請求項3】
前記優先度割付を格納するための優先度割付データベースを備えた請求項2に記載の調達先配分装置。
【請求項4】
前記最適化問題優先度制約を格納するための最適化問題優先度制約データベースを備えた請求項2又は3に記載の調達先配分装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の優先度を考慮した調達先配分方法およびその装置に関する。
【背景技術】
【0002】
調達先の配分計算では、数理最適化問題を応用して、コストの最小化または収益の最大化などの経済性を満たす計画を算出することが一般的である。この場合、発電機などの調達先は安価なものから選択されることとなる。
【0003】
一方で、自由化以後の取引は多様性を増しており、様々な態様の契約が結ばれている。例えば、経済性の点では、必ずしも最適とはならない配分計算を行うことが求められている。具体的には、再生可能エネルギーの有線活用や、個別の契約で優先購入が定められている場合などである。これらの場合には、経済性は二の次となり、優先する調達先をスケジュール指定つまり最適化問題としては定数として指定することで、配分計算を実施している。
【先行技術文献】
【特許文献】
【0004】
特許5159518号
配分計算の目的関数の重みづけ優先度に関するもの
【文献】H.P. Williams 『数理計画モデルの作成法』産業図書 1995 (ISBN-13 : 978-4782846018)整数計画法で論理条件を扱う方法に関する基礎文献
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、優先する調達先をスケジュール指定して配分計算を実施する方法では、同一の優先度を持つ調達先が複数存在した場合、どちらも計算実行前にスケジュール指定せざるを得ない。そのため需要以上に調達してしまい、需給一致のバランスを崩して解なしとなり、再設定が必要となるケースを防ぐことができなかった。
【0006】
本発明の実施形態では、優先度の概念を階層的集合としてモデル化し、最適化問題の制約条件として取り扱うことにより、既存の整数計画法とその解法を用いて、スケジュール指定することなく、複数の優先度を考慮でき、かつ同一優先度の複数の調達先の経済配分を実現可能とする調達先配分方法およびその装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を達成するために、本実施形態に係る調達先配分方法は、以下のステップ(1)~(12)をコンピュータが実行する。
(1)配分計算の諸元である調達先のデータを格納する調達先格納ステップ。
(2)調達先の登録数を最大値として可変長な階層構造を持つ優先度を格納する優先度格納ステップ。
(3)各優先度に1個以上の調達先が所属するように対応付けた優先度割付を生成する優先度割付生成ステップ。
(4)前記優先度割付を格納する優先度割付格納ステップ。
(5)前記優先度割付を読み出し、各調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、個別上限判定制約として生成する個別上限判定制約生成ステップ。
(6)前記優先度割付を読み出し、各優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、階層上限判定制約として生成する階層上限判定制約生成ステップ。
(7)前記優先度割付を読み出し、直上位階層の優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達した場合に限り、下位階層の優先度に所属する調達先への配分を可能にする数式を、配分制限制約として生成する配分制限制約生成ステップ。
(8)前記個別上限判定制約、前記階層上限判定制約および前記配分制限制約を最適化問題優先度制約として格納する最適化問題優先度制約格納ステップ。
(9)最適化問題目的関数を格納する最適化問題目的関数格納ステップ。
(10)前記最適化問題優先度制約および前記最適化問題目的関数を読み出し、対応する最適化問題を解く最適化実行ステップ。
(11)最適化結果を格納する最適化結果格納ステップ。
(12)最適化結果を表示する最適化結果表示ステップ。
【0008】
本発明の実施形態は、上記ステップを実行する構成要素を備えた調達先配分装置として捉えることもできる。
【図面の簡単な説明】
【0009】
【
図4】第1の実施形態の数式、並びに数式及び添字の定義を示す図
【発明を実施するための形態】
【0010】
(第1の実施形態)
[構成]
図1のブロック図、
図2のフローチャートを用いて第1の実施形態について説明する。第1の実施形態は、各構成要素がそれぞれのステップを実行する調達先配分方法である。第1の実施形態は、各ステップを実行する構成要素を備えた調達先配分装置として捉えてもよい。なお、実施形態の態様としては、調達先配分方法及びその装置に加えて、各ステップをコンピュータに実行させる調達先配分プログラムや、当該プログラムを記録した記録媒体も包含するものとする。
【0011】
図1に示すように、調達先配分装置100には、データの格納部である7つのデータベース(DBと記載する)1、2、4、8、9、11、13と、4つのデータ生成部3、5、6、7、9とが設けられている。7つのDBのうち、1は調達先DB、2は優先度DB、4は優先度割付DBである。調達先DB1は、配分計算の諸元である調達先のデータを格納し(調達先格納ステップ)、優先度DB2は、複数の優先度を格納する(優先度格納ステップ)。優先度は、調達先の登録数を最大値として可変長の階層構造を持つものとする。
【0012】
3は優先度割付生成部である。優先度割付生成部3は、調達先DB1から調達先のデータを読み出し、優先度DB2から優先度を読み出して、各優先度に1個以上の調達先が所属するように対応付けた優先度割付を生成する(フローチャートのステップ14:優先度割付生成ステップ)。優先度割付DB4は優先度割付生成部3が生成した優先度割付を格納する(優先度割付格納ステップ)。
【0013】
生成部5、6、7は、優先度割付DB4から優先度割付を読み出して数式を生成する部分であり、5は個別上限判定制約生成部、6は階層上限判定制約生成部、7は配分制限制約生成部である。個別上限判定制約生成部5は、優先度割付DB4から優先度割付を読み出して、各調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、個別上限判定制約として生成する(フローチャートのステップ15:個別上限判定制約生成ステップ)。
【0014】
階層上限判定制約生成部6は、優先度割付DB4から優先度割付を読み出して、各優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、階層上限判定制約として生成する (フローチャートのステップ16:階層上限判定制約生成ステップ)。配分制限制約生成部7は、優先度割付DB4から優先度割付を読み出して、直上位階層の優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達した場合に限り、下位階層の優先度に所属する調達先への配分を可能にする数式を、配分制限制約として生成する(フローチャートのステップ17:配分制限制約生成ステップ)。
【0015】
8は最適化問題優先度制約、9は最適化問題目的関数DB、11は最適化結果DB、13は最適化問題通常制約DBである。最適化問題優先度制約DB8は、上記の3つの生成部から、それぞれ個別上限判定制約、階層上限判定制約および配分制限制約を読み込んで、これらの制約を最適化問題優先度制約として格納する(最適化問題優先度制約格納ステップ)。最適化問題目的関数DB9は、最適化問題目的関数を格納する(最適化問題目的関数格納ステップ)。最適化問題通常制約DB13は、前記の最適化問題優先度制約ではなく、従来からある既存の制約として最適化問題通常制約を格納する(最適化問題通常制約格納ステップ)。最適化問題通常制約とは、例えば、需給一致制約、調達先の上限値制約、調達先の下限値制約などである。
【0016】
また、調達先配分装置100には、上記の構成要素に加えて、最適化実行部10と、最適化結果表示部12とが設けられている。最適化実行部10は、最適化問題優先度制約DB8から最適化問題優先度制約を、最適化問題目的関数DB9から最適化問題目的関数を、最適化問題通常制約DB13から最適化問題通常制約を、それぞれ読み出して、これらに対応する最適化問題を解く(フローチャートのステップ18:最適化実行ステップ)。最適化実行部10は最適化の実行が正常に終了したかどうかを判定する(フローチャートのステップ19:正常終了判定ステップ)。最適化結果DB11は、最適化実行部10が解いた最適化問題の解として、最適化結果を格納する(最適化結果格納ステップ)。
【0017】
最適化実行部10が最適化の実行は正常に終了したと判定した場合(フローチャートのステップ19のYes)、最適化結果表示部12は最適化結果を表示する(フローチャートのステップ20:最適化結果表示ステップ)。最適化実行部10が最適化の実行は正常に終了しなかったと判定した場合(フローチャートのステップ19のNo)、最適化結果表示部12はエラー種別を表示する(フローチャートのステップ21:エラー種別表示ステップ)。
【0018】
以上のような第1の実施形態は、優先度の概念を階層的集合としてモデル化し、最適化問題の制約条件として取り扱う。「優先度の概念を階層的集合としてモデル化する」とは、複数の調達先を登録してその登録数を最大値とした階層的構造を持つ階層として優先度を捉え、まず優先度に対応する複数の階層を考える。優先度の各階層は例えば、「優先度0」、「優先度1」…に対応する。全ての調達先がどれか一つの優先度の階層に所属するとすれば、各優先度に対応する調達先の集合が導けることになる。調達先にとっての優先度を、「直上位の階層に所属する調達先の全てが、あらかじめ規定された上限値まで配分されていない限り、調達先自身の電力量が配分されることはない」と定義する。
【0019】
以上の優先度の関係を、0-1変数を用いた最適化問題の制約条件としてモデル化すると、必要な制約データは次の3つである。
(a)各調達先への配分があらかじめ規定された上限値に達していることを示す論理フラグ(個別上限判定)
(b)各階層の優先度に所属する全ての調達先があらかじめ規定された上限値に達していることを示す論理フラグ(階層上限判定)
(c)直上位階層の優先度に所属する全ての調達先が前記上限値に達していなければ下位階層の優先度に所属する調達先は配分されない制御を行う切換え機能(配分制限)
【0020】
第1の実施形態では、優先度割付を読み出す3つの生成部、個別上限判定制約生成部5、階層上限判定制約生成部6、配分制限制約生成部7が、上記の3つの制約データ(a)~(c)を、0-1変数を用いて数式化している。例えば、優先度x,x-1とした場合、
図3の優先度割付DB4では、優先度x-1の階層には調達先がF個、優先度xの階層には調達先がG個あり、優先度x-1の階層上限判定変数をL(x-1)、優先度xの階層上限判定変数をL(x)とする。
【0021】
図4に各生成部5、6、7が生成する数式(1)~(3)を示して具体的に説明する。個別上限判定制約生成部5では、任意のf(調達先ごと)に数式(1)を生成して、あらかじめ規定された上限値まで配分されたときのみ、δ=1となる。また、階層上限判定制約生成部6では、1階層である優先度ごとに1つ、数式(2)を生成して、全ての階層でδ=1のときのみ、L=1となる。さらに、配分制限制約生成部7では、任意のg(調達先ごと)に数式(3)を生成して、L=1のときのみ、配分可能となる。なお、
図4の下段に数式及び添字の定義を示す。δが調達先ごとに配分上限に達していることを示す0-1変数、決定変数であり、Lが優先度ごとに配分上限に達していることを示す0-1変数、決定変数である。
【0022】
[作用]
第1の実施形態によって優先度制約を適用した場合と、従来技術により通常制約を適用した場合とに関して、具体的な比較例を用いて説明する。需要は400kWhあり、「優先度0」には風力発電などの調達先A(30円/kWh)、調達先B(45円/kWh)が所属する。「優先度0」よりも優先度の低い「優先度1」には、水力発電などの調達先C(20円/kWh)が所属するものとする。調達先Aの配分PAの範囲を0≦PA≦50kWh、調達先Bの配分PBの範囲を0≦PB≦100kWh、調達先Cの配分PCを0≦PC≦500kWhとする。需要は400kWhなので、PA+PB+PC=400kWhとなる。
【0023】
ここで、PA=50kWhとスケジュール指定して、通常制約のみ(例えば目的関数がコスト最小化)を適用した場合、30PA+45PB+20PCの解は、PCの調達先Cだけに配分があり、コスト的には最も安価な400kWh×20円=8000円となる。この場合、「優先度0」に属する調達先A、Bには配分が全くなく、「優先度1」より優先度の高い「優先度0」が、活かされていないことになる。
【0024】
これに対して、第1の実施形態により優先度制約を適用した場合を、
図6に示した式(4)~(7)を用いて説明する。数式(4)より調達先Aの配分PAの上限=50でδA=1、数式(5)より調達先Bの配分PBの上限=100でδB=1となり、数式(6)よりδA=δB=1でL0=1となる。つまり、数式(7)に示すようにL0=1となって、「優先度0」に所属する全ての調達先A、Bへの配分が上限値に達したことになり、ここで初めて下位の「優先度1」に所属する調達先Cへの配分が可能となったことを意味している。
【0025】
従って、第1の実施形態により優先度制約を適用した場合には、調達先Aには50kWh、調達先Bには100kWhが配分されることになり、400kWhから150(=50+100)kWhを引いた残り、250kWhが調達先Cに配分されることになる。その結果、コストは50kWh×30円+100kWh×45円+250kWh×20円=11000円となる。すなわち、第1の実施形態によれば、コストとしては通常制約のみを適用した場合に8000円よりも、3000円悪化するものの、「優先度0」に属する調達先A、Bから電力を確保することが可能となり、「優先度1」より優先度の高い「優先度0」が活かされたことになる。
【0026】
[効果]
以上のような第1の実施形態では、各優先度に1個以上の調達先が所属するように対応付けた優先度割付を生成する優先度割付生成ステップと、各調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、個別上限判定制約として生成する個別上限判定制約生成ステップと、各優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達したと判定する数式を、階層上限判定制約として生成する階層上限判定制約生成ステップと、直上位階層の優先度に所属する全ての調達先への配分が、あらかじめ規定された上限値に達した場合に限り、下位階層の優先度に所属する調達先への配分を可能にする数式を、配分制限制約として生成する配分制限制約生成ステップと、を含む。
【0027】
これにより、本発明の実施形態では、全ての調達先はいずれかの優先度に必ず所属すると仮定して、各優先度に対応した調達先の集合を導くことができる。従って、階層構造を持つ複数の優先度の関係を、0-1変数を用いた最適化問題の制約条件としてモデル化することができ、配分計算に際して、既存の整数計画法とその解法を適用することが可能である。
【0028】
しかも、第1の実施形態では、論理的には優先度の階層を調達先の数だけ登録設定できるので、調達先の数に対応した優先度の階層数まで、配分計算を実現することができる。また、第1の実施形態においては、優先度を考慮する際、優先する調達先についてスケジュール指定することが不要である。そのため、同一優先度の調達先が複数存在する場合でも、同一優先度内の調達先間での経済性を比較しつつ、経済配分を実現することが可能である。このような本実施形態によれば、複数の優先度が存在しても、最適化問題を解いて配分計算を実現することができ、自由化以後の多様な取引に対応することができる。
【0029】
(他の実施形態)
本発明のいくつかの複数の実施形態を説明したが、これらの実施形態は例として提示したものであって、発明の範囲を限定することを意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略や置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【0030】
本発明の実施形態では、同一優先度内に複数の調達先が存在する場合だけではなく、異なる優先度に所属する調達先間に同一の制約条件が跨っていた場合にも対応可能である。すなわち、最適化実行ステップにおいて、最適化実行部10が、異なる優先度に所属する調達先間に跨る制約条件と優先度を考慮して、最適化問題を解くものとする。
【0031】
異なる優先度に所属する調達先間に跨る制約条件とは、例えば、「優先度0」である調達先aと「優先度1」である調達先bとは、同時に起動禁止であるといった制約条件、あるいは、「優先度0」である調達先cと「優先度1」である調達先dとの間には燃料消費量の上限が規定されているといった制約条件などである。
【0032】
このような実施形態では、異なる優先度に所属する調達先間に制約条件が跨っていたとしもて、一つの数理計画内で、当該制約条件と優先度を同時に考慮して解を求めることができ、人手で当該制約を考慮しつつ優先度をスケジュール指定する運用に比べると、効率よく配分計算作成業務を進めることができる。
【符号の説明】
【0033】
1 調達先DB
2 優先度DB
3 優先度割付生成部
4 優先度割付DB
5 個別上限判定制約生成部
6 階層上限判定制約生成部
7 配分制限制約生成部
8 最適化問題優先度制約DB
9 最適化問題目的関数DB
10 最適化実行部
11 最適化結果DB
12 最適化結果表示部
13 最適化問題通常制約DB
100 調達先配分装置