JP2002099890A - Automatic program generation method and automatic program generation device - Google Patents
Automatic program generation method and automatic program generation deviceInfo
- Publication number
- JP2002099890A JP2002099890A JP2000291884A JP2000291884A JP2002099890A JP 2002099890 A JP2002099890 A JP 2002099890A JP 2000291884 A JP2000291884 A JP 2000291884A JP 2000291884 A JP2000291884 A JP 2000291884A JP 2002099890 A JP2002099890 A JP 2002099890A
- Authority
- JP
- Japan
- Prior art keywords
- value
- temperature
- chromosome
- fitness
- predetermined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 210000000349 chromosome Anatomy 0.000 claims abstract description 116
- 108090000623 proteins and genes Proteins 0.000 claims abstract description 41
- 238000011156 evaluation Methods 0.000 claims abstract description 33
- 239000012634 fragment Substances 0.000 claims description 108
- 238000012545 processing Methods 0.000 claims description 67
- 238000013528 artificial neural network Methods 0.000 claims description 51
- 230000006870 function Effects 0.000 claims description 38
- 230000035772 mutation Effects 0.000 claims description 22
- 238000004088 simulation Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000004378 air conditioning Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 abstract description 11
- 230000002068 genetic effect Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000012854 evaluation process Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 241000252067 Megalops atlanticus Species 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- AAOVKJBEBIDNHE-UHFFFAOYSA-N diazepam Chemical compound N=1CC(=O)N(C)C2=CC=C(Cl)C=C2C=1C1=CC=CC=C1 AAOVKJBEBIDNHE-UHFFFAOYSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Control By Computers (AREA)
- Air-Conditioning For Vehicles (AREA)
- Air Conditioning Control Device (AREA)
Abstract
(57)【要約】
【課題】 自動生成されたプログラムを用いることので
きる装置の構成等に制約が少なく、汎用性が高いプログ
ラム自動生成方法及び装置を提供する。
【解決手段】 染色体を構成する各々の遺伝子がプログ
ラムの1ステップとなるようにすると共に、遺伝子の内
容が、自動生成される制御プログラムが用いられる自動
制御機器のアクチュエータの操作量とセンサの値を定め
ることができるようなものとなるように染色体のコーデ
ィング形式を定め、いわゆる遺伝的アルゴリズムによ
り、所定の評価の染色体を得、その染色体をデコードす
ることで、所望する制御特性の制御プログラムが自動生
成されるようにしてなるものである。
(57) [Problem] To provide an automatic program generation method and apparatus with high versatility, with few restrictions on the configuration of an apparatus capable of using an automatically generated program. SOLUTION: Each gene constituting the chromosome constitutes one step of the program, and the content of the gene is determined by the operation amount of the actuator of the automatic control device and the value of the sensor of the automatic control device using the automatically generated control program. The coding format of the chromosome is determined so that it can be determined, a chromosome of a predetermined evaluation is obtained by a so-called genetic algorithm, and the chromosome is decoded, whereby a control program of a desired control characteristic is automatically generated. Is to be done.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、プログラムの自動
生成方法及びその装置に係り、特に、マイクロコンピュ
ータに代表される演算処理装置を有してなる自動制御機
器における制御プログラムを自動生成するものであっ
て、遺伝的アルゴリズムを応用したものに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and an apparatus for automatically generating a program, and more particularly to a method for automatically generating a control program in an automatic control device having an arithmetic processing unit represented by a microcomputer. Then, it relates to the application of a genetic algorithm.
【0002】[0002]
【従来の技術】いわゆるマイクロコンピュータに代表さ
れる演算処理装置と、複数のアクチュエータと、複数の
センサとを有してなるいわゆる自動制御機器は、概括す
れば複数のアクチュエータの動作が、演算処理装置にお
ける制御プログラムの実行により、複数のセンサにより
検出された信号を用いて制御され、所望の動作結果が得
られるようなものとなっている。このような自動制御機
器における制御プログラムは、従来、いわゆるプログラ
マーの試行錯誤的な作業により作成されるのが一般的で
あった。2. Description of the Related Art A so-called automatic control device having an arithmetic processing unit represented by a microcomputer, a plurality of actuators, and a plurality of sensors generally has a plurality of operation units. The control program is controlled by using the signals detected by the plurality of sensors to obtain a desired operation result. Conventionally, a control program in such an automatic control device has been generally created by trial and error work of a so-called programmer.
【0003】[0003]
【発明が解決しようとする課題】しかしながら、動作制
御の対象となるアクチュエータの数が増える等により自
動制御機器の構成が複雑化し、また、大型化するに伴
い、いわゆる手作業で制御動作の適切な制御プログラム
を作成することは、多くの労力を要するばかりでなく、
ひいては装置の高価格化を招くという問題がある。一
方、プログラムを自動生成するための装置の提案が従来
から皆無ではないが、自動生成されたプログラムを用い
ることができる装置の条件が規定されることが多く、汎
用性に欠け、満足できるものが少なかった。本発明は、
上記実状に鑑みてなされたもので、自動生成されたプロ
グラムを用いることのできる装置の構成等に制約が少な
く、汎用性が高いプログラム自動生成方法及びプログラ
ム自動生成装置を提供するものである。However, as the number of actuators to be controlled is increased, the structure of the automatic control device is complicated, and as the size of the automatic control device is increased, so-called manual operation of the control operation is required. Creating a control program not only requires a lot of effort, but also
As a result, there is a problem that the price of the apparatus is increased. On the other hand, although there has been no proposal of a device for automatically generating a program, conditions for a device that can use an automatically generated program are often specified, and the device lacks versatility and is satisfactory. There were few. The present invention
An object of the present invention is to provide an automatic program generation method and an automatic program generation apparatus which have little restrictions on the configuration of an apparatus which can use an automatically generated program and have high versatility.
【0004】[0004]
【課題を解決するための手段】上記発明の目的を達成す
るため、本発明に係るプログラム自動生成方法は、自動
制御機器の動作を制御する制御プログラムを自動生成す
るプログラム自動生成方法であって、所定のコーディン
グ形式でコーディングされた染色体の初期集団を生成
し、所定の評価関数に基づいて、前記初期集団を構成す
る個々の染色体の適応度を算出して、所定の適応度を満
足する染色体が存在するか否かを判定し、所定の適応度
を満足する染色体があると判定された場合には、当該染
色体をデコードして得られるプログラムを、求める制御
プログラムとする一方、所定の適応度を満足する染色体
がないと判定された場合には、所定の適応度を満足しな
い染色体集団に対して、選択処理、交叉処理及び突然変
異処理を順次施し、その後、所定の評価関数に基づく適
応度の算出を行い、所定の適応度を満足する染色体の有
無の判定と染色体集団に対する選択処理、交叉処理及び
突然変異処理を行うことを、所定の適応度を満足する染
色体が得られるまで繰り返し行い、所定の適応度を満足
する染色体が得られた場合は、当該染色体をデコードし
て得られるプログラムを、求める制御プログラムとし、
前記選択処理は、第1の所定の条件の下で染色体集団か
ら2つの染色体をランダムに選択するものとし、前記交
叉処理は、前記選択処理により選択された2つの染色体
について、第2の所定の条件の下、相互の内容を交叉さ
せて新たな2つの染色体を生成し、前記突然変異処理
は、前記交叉処理が施された染色体の中から、所定の割
合でランダムに染色体を選択し、当該選択された染色体
のなかの一つの遺伝子をランダムに選択し、当該遺伝子
の内容を書き換えて染色体に突然変異が施されるよう構
成されてなるものである。In order to achieve the above object, an automatic program generation method according to the present invention is an automatic program generation method for automatically generating a control program for controlling the operation of an automatic control device. Generate an initial population of chromosomes coded in a predetermined coding format, based on a predetermined evaluation function, calculate the fitness of each chromosome constituting the initial population, the chromosomes satisfying the predetermined fitness is It is determined whether or not there is, and when it is determined that there is a chromosome that satisfies a predetermined fitness, a program obtained by decoding the chromosome is used as a control program to be obtained, while a predetermined fitness is determined. When it is determined that there is no chromosome to be satisfied, a selection process, a crossover process, and a mutation process are sequentially performed on a chromosome group that does not satisfy the predetermined fitness, After that, performing a fitness calculation based on a predetermined evaluation function, determining whether there is a chromosome that satisfies the predetermined fitness, and performing a selection process, a crossover process, and a mutation process on a chromosome population, the predetermined fitness Iteratively until a chromosome satisfying is obtained, and if a chromosome satisfying a predetermined fitness is obtained, a program obtained by decoding the chromosome is a control program to be obtained,
The selection processing is to randomly select two chromosomes from a chromosome population under a first predetermined condition, and the crossover processing is a second predetermined chromosome selection for the two chromosomes selected by the selection processing. Under the conditions, the contents of each other are crossed to generate two new chromosomes, and the mutation process randomly selects a chromosome at a predetermined ratio from the chromosomes subjected to the crossover process, and One of the selected chromosomes is randomly selected, the content of the gene is rewritten, and the chromosome is mutated.
【0005】かかる構成においては、特に、染色体を構
成する遺伝子がプログラムの1ステップに対応するによ
うに染色体を所定の形式でコーディングすることで、い
わゆる遺伝子アルゴリズムによりプログラムの自動生成
を可能としたものである。染色体のコーディング形式と
しては、染色体を構成する複数の遺伝子は、それぞれ一
つの関数断片と複数の要素断片からなり、前記関数断片
は、遺伝子全体のプログラムとしての性格を決定する要
素が設定される部分であって、当該要素は、制御プログ
ラムに用いられるプログラム言語の内、予め選択された
複数のもののなかから選択され、前記複数の要素断片
は、制御プログラムの対象である自動制御機器のアクチ
ュエータの数とセンサの数の総和に対応して設けられ、
対応するアクチュエータの操作量又はセンサの値が設定
されてなるものとするのが好適である。かかる構成とす
ることで自動生成されたプログラムを用いることのでき
る装置の構成等に制約が少なく、汎用性が高いプログラ
ム自動生成方法を提供することができることとなるもの
である。In such a configuration, in particular, a chromosome is coded in a predetermined format so that a gene constituting the chromosome corresponds to one step of the program, thereby enabling automatic generation of a program by a so-called genetic algorithm. It is. As the coding format of the chromosome, a plurality of genes constituting the chromosome are each composed of one function fragment and a plurality of element fragments, and the function fragment is a portion in which an element for determining the program character of the entire gene is set. Wherein the element is selected from a plurality of pre-selected ones of a programming language used for the control program, and the plurality of element fragments are the number of actuators of the automatic control device which is the object of the control program. And are provided corresponding to the sum of the number of sensors,
It is preferable that the operation amount of the corresponding actuator or the value of the sensor is set. With this configuration, there is little restriction on the configuration of an apparatus that can use an automatically generated program, and a highly versatile program automatic generation method can be provided.
【0006】[0006]
【発明の実施の形態】以下、本発明の実施の形態につい
て、図1乃至図12を参照しつつ説明する。なお、以下
に説明する部材、配置等は本発明を限定するものではな
く、本発明の趣旨の範囲内で種々改変することができる
ものである。最初に、本発明の実施の形態におけるプロ
グラム自動生成装置(以下「本装置」と言う)の構成に
ついて、図1を参照しつつ説明する。本装置は、自動制
御機器の制御プログラムを、詳細は後述するようにして
自動的に生成するためのものである。ここで、自動制御
機器とは、マイクロコンピュータに代表される演算処理
部と、複数のアクチュエータと、複数のセンサとを有し
てなり、演算処理部において制御プログラムが実行され
て、複数のセンサの検出信号やデータ等に基づいて、複
数のアクチュエータの動作が制御され、所望の動作状態
が得られるように構成されてなるものである。なお、ア
クチュエータは、後述する自動車用空調装置における例
にもあるように、必ずしもアクチュエータの名称が付さ
れるものばかりではなく、制御によって何らかの動作を
なすものであり、例えば、自動車用空調装置におけるブ
ロアモータ(図示せず)の如きもここに言うアクチュエ
ータと捉えられるものである。そして、本発明の実施の
形態においては、自動制御機器が自動車用空調装置であ
るとしてそのプログラム自動生成について以下説明する
こととする。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below with reference to FIGS. The members, arrangements, and the like described below do not limit the present invention, and can be variously modified within the scope of the present invention. First, a configuration of an automatic program generation device (hereinafter, referred to as “this device”) according to an embodiment of the present invention will be described with reference to FIG. The present apparatus is for automatically generating a control program for an automatic control device as described later in detail. Here, the automatic control device includes an arithmetic processing unit typified by a microcomputer, a plurality of actuators, and a plurality of sensors. A control program is executed in the arithmetic processing unit, and The operation of the plurality of actuators is controlled based on detection signals, data, and the like, so that a desired operation state is obtained. Note that the actuator is not necessarily provided with the name of the actuator as described in an example of an automotive air conditioner described later, and performs an operation by control. For example, a blower motor in an automotive air conditioner is used. (Not shown) can also be regarded as the actuator referred to herein. In the embodiment of the present invention, the automatic control device is assumed to be an automotive air conditioner, and the automatic generation of the program will be described below.
【0007】まず、本装置は、入力手段としての入力部
1と、中央処理部2と、表示部3とに大別されて構成さ
れたものとなっている(図1参照)。入力部1は、中央
処理部2へ対する命令やデータ等を入力するためのもの
で、例えば、いわゆるキーボード(図示せず)と、中央
処理部2とのインターフェイスを図るインターフェイス
回路(図示せず)とを主たる構成要素としてなる公知・
周知の構成を有してなるものである。表示部3は、入力
部1から中央処理部2へ入力された命令等の表示や、自
動生成された制御プログラムなどの表示を行うもので、
例えば、いわゆるCRTや液晶表示素子等を用いてなる
公知・周知の構成を有してなるものである。中央処理部
2は、後述するように自動制御機器の制御プログラム
を、いわゆる遺伝的アルゴリズムをベースにして自動生
成するためのものである。本発明の実施の形態における
中央処理部2は、演算制御手段としての演算制御部4
と、選択・交叉処理手段としての選択・交叉処理部5
と、突然変異処理手段としての突然変異処理部6と、評
価手段としての評価演算部7と、シュミレーション手段
としてのシュミレーション部8とに大別されてなるもの
で、例えば、これらは、公知・周知のマイクロコンピュ
ータを用いて後述するような処理手順に沿ったソフトウ
ェアの実行により実現され得るものである。First, the present apparatus is roughly divided into an input unit 1 as input means, a central processing unit 2, and a display unit 3 (see FIG. 1). The input unit 1 is for inputting commands, data, and the like to the central processing unit 2. For example, an interface circuit (not shown) for interfacing a so-called keyboard (not shown) with the central processing unit 2. And known as the main components
It has a well-known configuration. The display unit 3 displays commands and the like input from the input unit 1 to the central processing unit 2 and displays automatically generated control programs and the like.
For example, it has a known / known configuration using a so-called CRT, a liquid crystal display element, or the like. The central processing unit 2 is for automatically generating a control program for an automatic control device based on a so-called genetic algorithm, as described later. The central processing unit 2 according to the embodiment of the present invention includes an arithmetic control unit 4 as arithmetic control means.
And a selection / crossover processing unit 5 as selection / crossover processing means
, A mutation processing unit 6 as a mutation processing unit, an evaluation operation unit 7 as an evaluation unit, and a simulation unit 8 as a simulation unit. Can be realized by executing software in accordance with a processing procedure described later using the microcomputer.
【0008】演算制御部4は、後述するような処理手順
に沿って制御プログラムとなる染色体の生成や、本装置
の全体の動作制御を行うものである。選択・交叉処理部
5は、後述するような処理手順に沿って染色体に対する
選択処理、交叉処理を施すものである。突然変異処理部
6は、後述するような処理手順に沿って選択・交叉処理
が施された染色体に対して突然変異処理を施すものであ
る。評価演算部7は、後述するように所定の評価関数に
基づく適応度を算出するものである。シュミレーション
部8は、自動生成された制御プログラムのシュミレーシ
ョンを行い、評価関数の演算に必要なデータを生成する
ものであり、本発明の実施の形態においては、詳細は後
述するが、いわゆるニューラルネットワークが構築され
たものとなっている。The arithmetic and control unit 4 generates a chromosome as a control program and controls the overall operation of the apparatus according to a processing procedure described later. The selection / crossover processing unit 5 performs a selection process and a crossover process on chromosomes in accordance with a processing procedure described later. The mutation processing unit 6 performs a mutation process on the chromosome that has been subjected to the selection / crossover process in accordance with a processing procedure described later. The evaluation calculation unit 7 calculates the fitness based on a predetermined evaluation function as described later. The simulation unit 8 simulates the automatically generated control program and generates data necessary for the calculation of the evaluation function. In the embodiment of the present invention, although details will be described later, a so-called neural network is used. It has been built.
【0009】次に、本装置によるプログラム自動生成の
対象とされた自動車用空調装置、換言すれば、本装置に
より自動生成された制御プログラムが用いられる自動車
用空調装置について、図2を参照しつつ説明する。この
自動車用空調装置は、いわゆるリヒートエアミックス方
式と一般に称されるもので、取入口から取り入れた空気
を一度すべて冷却し、その後、その一部をリヒート(再
加熱)して高温空気を作り、これを残りの低温空気と混
合することによって所望の温度の空気を得るように構成
されてなるものである。すなわち、空調ダクト11の一
端に形成されたインレット(図示せず)の近傍には、ブ
ロア12が配設されており、インレットから空気を空調
ダクト11内へ導き、送風するようになっている。ま
た、ブロア12の後流側には、エバポレータ13が配設
されており、ブロア12により送風された空気の冷却が
行われるようになっている。そして、エバポレータ13
の後流側には、ミックスドア14が配設されると共に、
ミックスドア14の後流側においては、適宜な長さに渡
って空調ダクト11が二つの流路に分割されて、その一
方にヒータコア15が配設されている。Next, an air conditioner for a vehicle which is an object of automatic generation of a program by the present device, in other words, an air conditioner for a vehicle using a control program automatically generated by the present device will be described with reference to FIG. explain. This automotive air conditioner is generally referred to as a so-called reheat air mix system, which cools all the air taken in from the intake once and then reheats (reheats) a part of it to produce high-temperature air. This is mixed with the remaining low-temperature air to obtain air at a desired temperature. That is, a blower 12 is provided near an inlet (not shown) formed at one end of the air-conditioning duct 11, and guides air from the inlet into the air-conditioning duct 11 to blow air. An evaporator 13 is provided downstream of the blower 12 so that the air blown by the blower 12 is cooled. And the evaporator 13
A mix door 14 is provided on the downstream side of the
On the downstream side of the mix door 14, the air conditioning duct 11 is divided into two flow paths over an appropriate length, and a heater core 15 is provided on one of the two flow paths.
【0010】ミックスドア14の開度に応じて、エバポ
レータ13を通過した空気の一部は、ヒータコア15を
通過せしめられてリヒートされて、ヒータコア15を通
過せしめられることのなかった空気と混合されて、温度
調整がなされた混合空気が得られるようになっている。
さらに、空調ダクト11の他方の端部近傍には、モード
ドア16が設けられており、そのドア位置により、車室
内上下の配風比が変えられて、先の混合空気がその配風
比に応じて車室内の上下に配風されるようになってい
る。In accordance with the opening of the mixing door 14, a part of the air that has passed through the evaporator 13 is passed through the heater core 15 and reheated, and is mixed with air that has not been passed through the heater core 15. Thus, a temperature-adjusted mixed air can be obtained.
Further, near the other end of the air conditioning duct 11, a mode door 16 is provided, and depending on the position of the door, the air distribution ratio between the upper and lower sides of the vehicle compartment is changed, and the preceding mixed air is adjusted to the air distribution ratio. The air is distributed up and down in the passenger compartment accordingly.
【0011】また、この自動車用空調装置は、演算処理
部17を有しており、先のブロア12を回転するブロア
モータ(図示せず)の回転速度、ミックスドア14及び
モードドア16のドア位置が、この演算処理部17によ
る制御プログラムの実行によってそれぞれ制御されるよ
うになっている。まず、ブロアモータ(図示せず)は、
演算処理部17と共に設けられたディジタル・アナログ
変換器(図2においては「D/A」と表記)18及びパ
ルス幅変調信号出力回路(図2においては「PWM」と
表記)19を介して、その回転速度が演算処理部17に
おける制御プログラムの実行により制御されるようにな
っている。すなわち、演算処理部17における制御プロ
グラムの実行により演算処理部17から制御信号が出力
され、それがディジタル・アナログ変換器18によりア
ナログ信号に変換されて、パルス幅変調信号出力回路1
9へ入力される。そして、パルス幅変調信号出力回路1
9からは、その入力アナログ信号に応じたパルス幅変調
信号が出力されて、図示されないブロアモータへ印加さ
れることで、その回転速度が定まるものとなっている。The automotive air conditioner has an arithmetic processing unit 17 for controlling the rotation speed of a blower motor (not shown) for rotating the blower 12 and the position of the mix door 14 and the mode door 16. , Are controlled by the execution of the control program by the arithmetic processing unit 17. First, the blower motor (not shown)
Through a digital / analog converter (denoted as “D / A” in FIG. 2) 18 and a pulse width modulation signal output circuit (denoted as “PWM” in FIG. 2) 19 provided together with the arithmetic processing unit 17, The rotation speed is controlled by executing a control program in the arithmetic processing unit 17. That is, a control signal is output from the arithmetic processing unit 17 by executing the control program in the arithmetic processing unit 17, the control signal is converted into an analog signal by the digital / analog converter 18, and the pulse width modulation signal output circuit 1
9 is input. And a pulse width modulation signal output circuit 1
From 9, a pulse width modulation signal corresponding to the input analog signal is output and applied to a blower motor (not shown), whereby the rotation speed is determined.
【0012】また、ミックスドア14及びモードドア1
6の位置制御のため、第1のモータアクチュエータ(図
2においては「ACT(1)」と表記)20、第2のモ
ータアクチュエータ(図2においては「ACT(2)」
と表記)21が、それぞれ設けられると共に、これら第
1及び第2のモータアクチュエータ20,21と演算処
理部17とのインターフェイスを図る入出力回路(図2
においては「I/O」と表記)22が設けられている。
そして、演算処理部17における制御プログラムの実行
により演算処理部17からそれぞれのドア位置制御のた
めの制御信号が出力され、入出力回路22を介して、第
1のモータアクチュエータ20及び第2のモータアクチ
ュエータ21へ印加され、制御信号に応じてアクチュエ
ータ20,21がそれぞれ動作することで、ドア位置制
御がなされるようになっている。Also, the mix door 14 and the mode door 1
For the position control of No. 6, a first motor actuator (indicated as “ACT (1)” in FIG. 2) 20 and a second motor actuator (“ACT (2)” in FIG. 2)
2), and an input / output circuit (FIG. 2) for interfacing the first and second motor actuators 20, 21 with the arithmetic processing unit 17.
, "I / O") 22 is provided.
The execution of the control program in the arithmetic processing unit 17 outputs a control signal for door position control from the arithmetic processing unit 17, and the first motor actuator 20 and the second motor When the actuators 20 and 21 are applied to the actuator 21 and operate in accordance with the control signals, the door position is controlled.
【0013】さらに、先のエバポレータ13の実質的温
度を検出するためのエバポレータセンサ23が、例えば
エバポレータ13近傍の後流側に又はエバポレータ13
に直に取り付けられて設けられると共に、ヒータコア1
5の実質的温度を検出するためのヒータコアセンサ24
が同様にして設けられており、これらの検出信号は、演
算処理部17へ入力されるようになっている。また、さ
らに、車室内には、車室内の温度を検出する車室内温度
センサ25が、車外には、外部の気温を検出する外部温
度センサ26が、それぞれ適宜な位置に設けられてお
り、それらの検出信号も演算処理部17へ入力されるよ
うになっている。そして、これらセンサ23〜26の検
出信号は、演算処理部17における制御プログラムの実
行において、いわゆるフィードバック情報として利用さ
れるものとなっている。Further, an evaporator sensor 23 for detecting the substantial temperature of the evaporator 13 is provided, for example, on the downstream side near the evaporator 13 or on the evaporator 13.
And the heater core 1
5 for detecting a substantial temperature of the heater core sensor 24
Are provided in the same manner, and these detection signals are input to the arithmetic processing unit 17. Further, a vehicle interior temperature sensor 25 for detecting the temperature of the vehicle interior is provided in the vehicle interior, and an external temperature sensor 26 for detecting the external air temperature is provided outside the vehicle at appropriate positions. Is also input to the arithmetic processing unit 17. The detection signals of these sensors 23 to 26 are used as so-called feedback information in the execution of the control program in the arithmetic processing unit 17.
【0014】次に、本装置により上述した構成の自動車
用空調装置の制御プログラムを自動生成する手順につい
て図3乃至図5を参照しつつ説明する。まず、この発明
の実施の形態におけるプログラム自動生成方法は、概括
的に言えば、いわゆる遺伝的アルゴリズムをベースとし
て自動制御機器の制御プログラムを自動生成するもので
ある。図3には、その具体的な手順が示されており、以
下、同図を参照しつつ遺伝的アルゴリズムをベースとし
たプログラム自動生成手順について説明する。本装置が
始動されると、最初に、染色体の初期集団の生成が行わ
れ、世代計数用変数Nが「1」に設定されることとなる
(図3のステップS100参照)。すなわち、後述する
選択、交叉及び突然変異の各々の処理の最初の対象とさ
れる染色体の集団が生成されることとなる。ここで、本
発明の実施の形態において、解候補である染色体は、求
めようとしている制御プログラムの候補であり、そのた
め、次述するように染色体のコーディング形式が規定さ
れたものとなっている。すなわち、まず、図4(A)に
示されたように、染色体が複数の遺伝子からなる点は、
従来の遺伝的アルゴリズムと同様であるが、本発明の実
施の形態においては、一つの染色体における遺伝子の数
は、可変長であるとしている。但し、初期集団の発生の
時点においては、予め定めた数を設定している。Next, a procedure for automatically generating a control program for the vehicle air conditioner having the above-described configuration by the present apparatus will be described with reference to FIGS. First, the program automatic generation method according to the embodiment of the present invention generally generates a control program for an automatic control device automatically based on a so-called genetic algorithm. FIG. 3 shows a specific procedure. Hereinafter, an automatic program generation procedure based on a genetic algorithm will be described with reference to FIG. When this apparatus is started, first, an initial population of chromosomes is generated, and the generation counting variable N is set to “1” (see step S100 in FIG. 3). That is, a population of chromosomes to be first targets of the respective processes of selection, crossover, and mutation described below is generated. Here, in the embodiment of the present invention, the chromosome that is the solution candidate is a candidate for the control program to be obtained, and therefore, the coding format of the chromosome is defined as described below. That is, first, as shown in FIG. 4 (A), the point that the chromosome is composed of a plurality of genes is as follows.
It is the same as the conventional genetic algorithm, but in the embodiment of the present invention, the number of genes on one chromosome is variable. However, at the time of generation of the initial group, a predetermined number is set.
【0015】そして、この遺伝子のデータ構造が本発明
特有のものとなっている。具体的には、図4(B)に示
されたように一つの遺伝子の内部は、複数に区分された
ものとなっており、先頭に位置する一つの関数断片と、
その後に続く複数の要素断片(fragment)とから構成され
るものとなっている。要素断片の数は、プログラム自動
生成の対象とされる自動制御機器のセンサの数とアクチ
ュエータの数の合計数とされるものとなっている。すな
わち、この発明の実施の形態においてプログラムの生成
対象とされた先の図2に示された自動車用空調装置の場
合、温度センサ及びデータとして、エバポレータセンサ
23、ヒータコアセンサ24、車室内温度センサ25及
び外気温度センサ26並びに目標温度の5つが、アクチ
ュエータとして、ブロアモータ(図示せず)と第1のア
クチュエータ20の2つが、それぞれ該当し、そのた
め、要素断片は7個に設定されたものとなっている(図
4(B)参照)。関数断片は、プログラムの1ステップ
に相当する遺伝子の全体の性格を決定するもので、本発
明の実施の形態においては、関数断片には、「IF」、
「ENDIF」、「SET」のいずれかが設定され、
「IF」の場合には、遺伝子が条件文として、デコード
されることとなり、「SET」の場合には、遺伝子は、
アクチュエータの操作量を設定するプログラムとしてデ
コードされることとなる。The data structure of this gene is unique to the present invention. Specifically, as shown in FIG. 4 (B), the inside of one gene is divided into a plurality, and one function fragment located at the top is
It is composed of a plurality of element fragments that follow. The number of element fragments is a total number of the number of sensors and the number of actuators of the automatic control device to be automatically generated. That is, in the case of the automotive air conditioner shown in FIG. 2 for which a program is to be generated in the embodiment of the present invention, the evaporator sensor 23, the heater core sensor 24, the vehicle interior temperature sensor 25 are used as temperature sensors and data. And five of the outside air temperature sensor 26 and the target temperature correspond to the blower motor (not shown) and the first actuator 20, respectively, as actuators, and therefore, the number of element fragments is set to seven. (See FIG. 4B). The function fragment determines the overall character of the gene corresponding to one step of the program. In the embodiment of the present invention, the function fragment includes “IF”,
One of "ENDIF" and "SET" is set,
In the case of "IF", the gene is decoded as a conditional statement, and in the case of "SET", the gene is
This is decoded as a program for setting the operation amount of the actuator.
【0016】本発明の実施の形態において、7個の要素
断片は、具体的には、先頭(関数断片の次の要素断片)
から順に、ブロア回転速度(Blower speed)、エバポレー
タ温度(Temp.(evaporator))、ミックスドア開度(Mixdoo
r opening)、ヒータコア温度(Temp.(heater))、車室内
温度(Temp.(room))、外気温度(Temp.(outdoor))、目標
温度(Temp.(target))に、それぞれ対応したものとなっ
ている(図4(B)参照)。In the embodiment of the present invention, the seven element fragments are, specifically, the head (the next element fragment of the function fragment)
From the blower rotation speed (Blower speed), evaporator temperature (Temp. (Evaporator)), mix door opening (Mixdoo
r opening), heater core temperature (Temp. (heater)), vehicle interior temperature (Temp. (room)), outside air temperature (Temp. (outdoor)), target temperature (Temp. (target)) (See FIG. 4B).
【0017】この要素断片は、その内部がさらに複数に
区分されたものとなっており、この発明の実施の形態に
おいては、6つに区分されたものとなっている。この要
素断片の6つに区分された各々を、この発明の実施の形
態においては、便宜的に、その先頭からA値、B値、C
値、D値、E値及びF値と称することとして、その意
味、内容を次のように定義している。すなわち、A値
は、「0」と「1」のいずれかに設定されるもので、
「0」の場合は、要素断片の値がセンサの値であること
を、「1」の場合は、要素断片の値がアクチュエータの
操作量であることを、それぞれ意味するものとなってい
る(図5(A)参照)。The interior of the element fragment is further divided into a plurality of parts, and in the embodiment of the present invention, the element fragment is divided into six parts. In the embodiment of the present invention, each of the six divided element fragments is referred to as A value, B value,
The meaning and content are defined as follows as values, D values, E values, and F values. That is, the A value is set to either “0” or “1”,
"0" means that the value of the element fragment is the value of the sensor, and "1" means that the value of the element fragment is the operation amount of the actuator ( FIG. 5 (A)).
【0018】B値には、要素断片の種類、すなわちアク
チュエータ又はセンサの名称、略称が設定されるものと
なっている。C値は、要素断片を使用するか否かを表す
もので、「TRUE」である場合には、この「TRU
E」が書き込まれている要素断片を使用することを意味
し、「FALSE」である場合には、この「FALS
E」が書き込まれている要素断片を使用しないことを意
味する(図5(B)参照)。D値は、関数断片に「I
F」が設定されている場合に使用されるもので、C言語
における論理演算子が設定される。そして、このD値
は、条件文(IF文)の中で要素断片を使用する際に、
他の要素断片が示す条件とAND(論理積)をとるのか
OR(論理和)をとるのか等を規定するためのものであ
る。すなわち、D値が「1」である場合には、論理積
(AND)を表すC言語の「&&」であることを意味
し、D値が「2」である場合には、論理和(OR)を表
すC言語の「||」であることを意味し、D値が「3」
である場合には、論理積の否定(NAND)を表すC言
語の「&&!」であることを意味し、D値が「4」であ
る場合には、論理和の否定(NOR)を表すC言語の
「||!」であることを意味するものとなっている(図
5(C)参照)。In the B value, the type of element fragment, that is, the name or abbreviation of the actuator or sensor is set. The C value indicates whether or not to use an element fragment. If “TRUE”, the “TRU”
"E" means to use the element fragment in which it is written, and if "FALSE", this "FALS"
"E" means that the element fragment in which the information is written is not used (see FIG. 5B). The D value is expressed as “I
This is used when "F" is set, and a logical operator in C language is set. Then, when this element value is used in an element fragment in a conditional statement (IF statement),
This is for defining whether to take AND (logical product) or OR (logical sum) with the condition indicated by the other element fragments. That is, if the D value is “1”, it means “&&” in C language that represents a logical product (AND), and if the D value is “2”, the logical sum (OR ) In the C language, and the D value is “3”.
, It means "&&!" In C language, which represents negation of logical product (NAND), and if the D value is "4", it represents negation of logical sum (NOR). This means "||!" In the C language (see FIG. 5C).
【0019】E値は、比較演算子が設定される。すなわ
ち、E値が「0」の場合には、等しいことを意味し、E
値が「1」の場合には、不等号記号「>」であることを
意味し、E値が「2」の場合には、不等号記号「<」で
あることを意味し、E値が「3」の場合には、絶対値が
小であることを意味し、E値が「4」の場合には、絶対
値が大きいことを意味するものとなっている(図5
(D)参照)。F値は、関数断片が「IF」が設定され
ている場合には、条件文において判断の基準値とされる
具体的な数値が設定され、「SET」が設定されている
場合には、アクチュエータの操作量を示す具体的な数値
が設定される。For the E value, a comparison operator is set. That is, when the E value is “0”, it means that they are equal,
When the value is “1”, it means that the inequality sign is “>”. When the E value is “2”, it means that the inequality sign is “<”, and when the E value is “3”. "Means that the absolute value is small, and when the E value is" 4 ", it means that the absolute value is large (FIG. 5).
(D)). When the function fragment is set to “IF”, the F value is set to a specific numerical value that is used as a reference value in the conditional statement, and when “SET” is set, the actuator A specific numerical value indicating the amount of operation of is set.
【0020】このような構成を有してなる染色体の初期
集団の生成は、例えば、乱数を用いて行われるようにな
っている。すなわち、まず、乱数の値に応じて、上述し
た関数断片、要素断片の各々の値が決定されるような相
互の関係(いわば変換表)が予め設定されており、例え
ば、演算制御部4の適宜な記憶領域に記憶されている。
そして、演算制御部4により、乱数を順次発生させて、
その得られた値から変換表により順次関数断片、要素断
片の内容が決定され、染色体の初期集団が生成されるよ
うになっている。The generation of an initial population of chromosomes having such a configuration is performed using, for example, random numbers. That is, first, a mutual relationship (a so-called conversion table) is determined in advance so that each value of the above-described function fragment and element fragment is determined according to the value of the random number. It is stored in an appropriate storage area.
Then, the arithmetic control unit 4 sequentially generates random numbers,
From the obtained values, the contents of the function fragments and the element fragments are sequentially determined by the conversion table, and an initial population of chromosomes is generated.
【0021】次に、ここで、上述のような規定にしたが
ってコーディングされた染色体の遺伝子例とそのデコー
ドについて、図6を参照しつつ説明する。この図6に示
された遺伝子は、関数断片に「IF」が設定された例で
ある。したがって、この遺伝子のデコード結果は、IF
文(条件文)として扱われることとなる。まず、関数断
片の直ぐ後の要素断片について見れば、A値が「1」で
あることから、この1番目の要素断片は、アクチュエー
タに対応するものであるとデコードされる。そして、B
値において具体的に如何なるアクチュエータであるかが
記述されており、先に述べたように、1番目の要素断片
はブロア回転速度に関するものであることから、「Blow
er speed」と記述されている。C値には、「FALS
E」が設定されていることから、この1番目の要素断片
はこの例における遺伝子においては、使用されないもの
であるとデコードされることとなる。したがって、この
1番目の要素断片に関しては、残りのD値、E値及びF
値の内容の如何に関わらず、制御プログラムとしては用
いられないこととなる。Next, an example of a chromosome gene coded according to the above rules and its decoding will be described with reference to FIG. The gene shown in FIG. 6 is an example in which “IF” is set in the function fragment. Therefore, the decoding result of this gene is IF
Will be treated as a sentence (conditional statement). First, looking at the element fragment immediately after the function fragment, since the A value is “1”, this first element fragment is decoded as corresponding to the actuator. And B
The value specifically describes what kind of actuator the actuator is. As described above, since the first element fragment is related to the blower rotation speed, "Blow
er speed ". For the C value, "FALS
Since "E" is set, this first element fragment is decoded as not being used in the gene in this example. Therefore, for the first element fragment, the remaining D value, E value and F
Regardless of the content of the value, it will not be used as a control program.
【0022】図6における2番目の要素断片は、A値が
「0」に設定されており、センサに関する要素断片であ
るとデコードされる。そして、B値には、「TEva」
とエバポレータ温度の略称が設定されており、この要素
断片がエバポレータ温度に関するものであるとデコード
される。次いで、この要素断片のC値は、「TRUE」
と設定されていることから、この要素断片は使用される
ものであるとデコードされることとなる。次に、D値に
は、「1」が設定されていることから「AND」とデコ
ードされることとなる。ここで、このD値からデコード
された論理演算子は、一つ前の要素断片の内容との論理
演算を指定するものであり、この例の場合、一つ前の要
素断片は、先に述べたようにC値が「FALSE」であ
ることから、この場合には、この「AND」は意味をな
さないこととなる。次に、E値は、「1」が設定されて
おり、「>」とデコードされる。このE値の比較演算子
は、C値の内容とF値の内容の比較演算を規定するもの
となっている。この例の場合、F値には、「0.45
6」と設定されていることから、結局、この2番目の要
素断片の部分は、「TEva>0.456」とデコード
されることとなる。The second element fragment in FIG. 6 has the A value set to “0” and is decoded as an element fragment relating to the sensor. And the B value is "TEva"
And an abbreviation of the evaporator temperature are set, and this element fragment is decoded as being related to the evaporator temperature. Then, the C value of this element fragment is “TRUE”
Thus, this element fragment is decoded as being used. Next, since the D value is set to “1”, the value is decoded to “AND”. Here, the logical operator decoded from the D value specifies a logical operation with the content of the immediately preceding element fragment. In this example, the immediately preceding element fragment is described in the above. As described above, since the C value is “FALSE”, in this case, “AND” has no meaning. Next, the E value is set to “1” and is decoded as “>”. The E value comparison operator specifies a comparison operation between the contents of the C value and the contents of the F value. In this example, the F value is “0.45
6 ", the second element fragment is eventually decoded as"TEva> 0.456 ".
【0023】次に、3番目の要素断片の内容について見
れば、先ず、A値は、「1」と設定されており、アクチ
ュエータに関する要素断片であるとデコードされる。そ
して、B値には、「MixOpen」とミックスドア開
度の略称が設定されており、この3番目の要素断片がミ
ックスドア開度に関するものであるとデコードされる。
次いで、C値は、「FALSE」が設定されていること
からこの場合の3番目の要素断片は、使用されないもの
とデコードされることとなる。なお、これより以下の説
明において、使用されない要素断片については、D値以
降の内容の説明を省略することとする。Next, looking at the contents of the third element fragment, first, the A value is set to "1", and it is decoded as an element fragment relating to the actuator. In the B value, “MixOpen” and the abbreviation of the mixed door opening are set, and the third element fragment is decoded as being related to the mixed door opening.
Next, since the C value is set to “FALSE”, the third element fragment in this case is decoded to be unused. In the following description, the description of the contents after the D value will be omitted for the unused element fragments.
【0024】次に、4番目の要素断片のA値は、「0」
に設定されており、センサに関する要素断片であるとデ
コードされる。そして、B値には、「THeat」とヒー
タコア温度の略称が設定されており、この要素断片がヒ
ータコア温度に関するものであるとデコードされる。次
いで、C値は、「TRUE」と設定されていることか
ら、この要素断片は使用されるものであるとデコードさ
れることとなる。次に、D値には、「4」が設定されて
いることから「||!」とデコードされることとなる。
これは、先の2番目の要素断片とこの4番目の要素断片
とが「OR」かつ「NOT」、換言すれば、「NOR」
で結合されることを意味する。E値は、「3」が設定さ
れていることから絶対値が小さいことを意味するように
デコードされる。さらに、F値は、「0.012」と設
定されていることから、結局、この4番目の要素断片の
部分は、「||!fabs(THeat)<0.012」とデ
コードされることとなる。なお、ここで、「fabs(x)」
はxの絶対値を意味し、|x|をC言語で表現したもの
である。Next, the A value of the fourth element fragment is “0”.
And is decoded to be an element fragment for the sensor. Then, “THeat” and an abbreviation of the heater core temperature are set in the B value, and the element fragment is decoded as being related to the heater core temperature. Next, since the C value is set to “TRUE”, this element fragment is decoded as being used. Next, since "4" is set in the D value, it is decoded as "||!".
This is because the second element fragment and the fourth element fragment are “OR” and “NOT”, in other words, “NOR”.
Means to be joined. The E value is decoded to mean that the absolute value is small because “3” is set. Further, since the F value is set to “0.012”, the fourth element fragment part is eventually decoded as “||! Fabs (THeat) <0.012”. Become. Here, “fabs (x)”
Represents the absolute value of x, and represents | x | in C language.
【0025】次に、5番目の要素断片のA値は、「0」
に設定されており、センサに関する要素断片であるとデ
コードされる。そして、B値には、「TRoom」と車室
内温度の略称が設定されており、この要素断片が車室内
温度に関するものであるとデコードされる。次いで、C
値は、「FALSE」が設定されていることから、この
場合の5番目の要素断片は、使用されないものとデコー
ドされることとなる。Next, the A value of the fifth element fragment is “0”.
And is decoded to be an element fragment for the sensor. In the B value, “TRoom” and an abbreviated name of the vehicle interior temperature are set, and this element fragment is decoded as being related to the vehicle interior temperature. Then C
Since the value is set to “FALSE”, the fifth element fragment in this case is decoded to be unused.
【0026】6番目の要素断片のA値は、「0」に設定
されており、センサに関する要素断片であるとデコード
される。そして、B値には、「TOut」と外気温度の略
称が設定されており、この要素断片が外気温度に関する
ものであるとデコードされる。次いで、C値は、「TR
UE」と設定されていることから、この要素断片は使用
されるものであるとデコードされることとなる。次に、
D値には、「3」が設定されていることから、「&&
!」とデコードされる。これは、先の4番目の要素断片
とこの6番目の要素断片とが「AND」かつ[NO
T」、換言すれば、「NAND」で結合されることを意
味する。E値には、「0」が設定されていることから
「==」とデコードされる。さらに、F値は、「0.6
78」と設定されていることから、結局、この6番目の
要素断片の部分は、「&&!(TOut==0.67
8)」とデコードされることとなる。The A value of the sixth element fragment is set to "0", and is decoded as an element fragment relating to the sensor. In the B value, “TOut” and an abbreviated name of the outside air temperature are set, and the element fragment is decoded as being related to the outside air temperature. Next, the C value becomes “TR
Since "UE" is set, this element fragment is decoded as being used. next,
Since "3" is set for the D value, "&&
! Is decoded. This is because the fourth element fragment and the sixth element fragment are “AND” and [NO
T ", in other words, it is connected by" NAND ". Since “0” is set in the E value, it is decoded as “==”. Further, the F value is “0.6
78 ", the sixth element fragment eventually becomes"&&! (TOut == 0.67
8) ".
【0027】次に、7番目の要素断片のA値は、「1」
に設定されており、アクチュエータに関する要素断片で
あるとデコードされる。そして、B値には、「TTarge
t」と車室内の目標温度の略称が設定されており、この
要素断片が車室内の目標温度に関するものであるとデコ
ードされる。次いで、C値は、「FALSE」と設定さ
れていることから、この場合の7番目の要素断片は、使
用されないものとデコードされることとなる。Next, the A value of the seventh element fragment is “1”.
And is decoded as an element fragment for the actuator. And the B value includes “TTarge
"t" and an abbreviation of the target temperature in the passenger compartment are set, and this element fragment is decoded as relating to the target temperature in the passenger compartment. Next, since the C value is set to “FALSE”, the seventh element fragment in this case is decoded to be unused.
【0028】したがって、この図6に示された遺伝子の
全体としてのデコード結果は、下記する如くとなる。Therefore, the decoding result of the gene shown in FIG. 6 as a whole is as follows.
【0029】if((TEva>0.456)||!(fab
s(THeat)<0.012)&&!(TOut=0.67
8)){If ((TEva> 0.456) ||! (Fab
s (THEat) <0.012) &&! (TOut = 0.67
8)) {
【0030】最初の小括弧()内の「(TEva>0.4
56)||!(fabs(THeat)<0.012)&&!
(TOut==0.678)」を、通常の論理演算式で書
き直せば、「(TEva>0.456)NOR(fabs(T
Heat)<0.012)NAND(TOut==0.67
8)」となる。すなわち、その意味するところは、
「(TEva>0.456)であって、(fabs(THeat)
<0.012でなく、かつ、(TOut=0.678)でな
い」こととなる。結局、関数断片に設定されたIFを考
慮すれば、この例の遺伝子上のプログラムは、「もし、
(TEva>0.456)であって、(fabs(THeat)<
0.012でなく、かつ、(TOut=0.678)でない
ならば、以下を実行する」という意味となる。[(TEva> 0.4) in the first parenthesis ()
56) || (Fabs (THeat) <0.012) &&!
If (TOut == 0.678) is rewritten with a normal logical operation expression, “(TEva> 0.456) NOR (fabs (T
Heat) <0.012) NAND (TOut == 0.67)
8) ". In other words, the meaning is
"(TEva> 0.456) and (fabs (THeat)
<0.012 and not (TOut = 0.678). " After all, considering the IF set in the function fragment, the program on the gene in this example is "if,
(TEva> 0.456) and (fabs (THeat) <
If it is not 0.012 and (TOut = 0.678), the following is executed. "
【0031】次に、関数断片に「SET」が設定された
遺伝子の例について、図7を参照しつつ説明する。先
ず、SET文をデコードする際に共通する規則として
は、D値及びE値は、無視されることである。これら
は、IF文の場合(関数断片に「IF」が設定された遺
伝子である場合)において意味をなすものであるからで
ある。Next, an example of a gene in which “SET” is set in a function fragment will be described with reference to FIG. First, as a common rule when decoding a SET sentence, the D value and the E value are ignored. This is because they make sense in the case of an IF statement (when the function fragment is a gene in which “IF” is set).
【0032】具体的に図7における例について見ると、
1番目の要素断片は、A値が「1」と設定されているこ
とから、この要素断片はアクチュエータに関するもので
あるとデコードされ、B値に「Blower speed」が設定さ
れていることから、ブロア回転速度に関するものである
とデコードされる。そして、C値に「TRUE」が設定
されていることから、この要素断片は使用されるもので
あるとデコードされることとなる。また、F値には、
「0.123」と設定されていることから、結局、この
1番目の要素断片の部分は、関数断片と共に、「SET
(Blower speed,0.123)」の意味を有するものと
なる。換言すれば、「ブロア回転速度を0.123に設
定せよ」の意味を有するものとなる。Looking specifically at the example in FIG.
Since the first element fragment has the A value set to “1”, this element fragment is decoded as relating to the actuator, and the B value is set to “Blower speed”. It is decoded as relating to the rotation speed. Since “TRUE” is set in the C value, this element fragment is decoded as being used. In addition, the F value includes
Since it is set to “0.123”, the first element fragment is eventually “SET” together with the function fragment.
(Blower speed, 0.123) ". In other words, it means "set the blower rotation speed to 0.123".
【0033】次に、2番目の要素断片は、C値が「FA
LSE」に設定されてるため、プログラムとして使用さ
れないものとなる。次に、3番目の要素断片は、A値が
「1」と設定されていることから、この要素断片はアク
チュエータに関するものであるとデコードされ、B値に
「MixOpen」が設定されていることから、ミック
スドア開度に関するものであるとデコードされる。ま
た、C値は、「TRUE」と設定されていることから、
この要素断片は使用されるものであるとデコードされる
こととなる。そして、F値には、「0.789」が設定
されていることから、結局、この3番目の要素断片の部
分は、関数断片と共に、「SET(MixOpen,
0.789)」の意味を有するものとなる。換言すれ
ば、「ミックスドア開度を0.789に設定せよ」の意
味を有するものとなる。Next, the second element fragment has a C value of “FA
Since it is set to "LSE", it is not used as a program. Next, since the A value of the third element fragment is set to “1”, this element fragment is decoded as relating to the actuator, and the B value is set to “MixOpen”. , It is decoded as relating to the mix door opening. Also, since the C value is set to “TRUE”,
This element fragment will be decoded as being used. Then, since the F-number is set to “0.789”, this third element fragment eventually ends up with “SET (MixOpen,
0.789) ”. In other words, it has the meaning of “set the mix door opening to 0.789”.
【0034】4番目及び5番目の要素断片については、
共にC値が「FALSE」に設定されているため、プロ
グラムとして使用されないものとなる。6番目の要素断
片は、センサに関するものであり、このSET文では意
味をなさないものであるため、デコードされないことと
なる。For the fourth and fifth element fragments,
In both cases, the C value is set to “FALSE”, so that it is not used as a program. The sixth element fragment pertains to the sensor and does not make sense in this SET sentence, so it is not decoded.
【0035】7番目の要素断片については、C値が「F
ALSE」に設定されているため、プログラムとして使
用されないものとなる。結局、この図7に示された遺伝
子の全体としてのデコード結果は、下記する如くとな
る。For the seventh element fragment, the C value is "F
Since it is set to "ALSE", it will not be used as a program. As a result, the decoding result of the gene shown in FIG. 7 as a whole is as follows.
【0036】SET(Blower speed,0.123); SET(MixOpen,0.789);SET (Blower speed, 0.123); SET (MixOpen, 0.789);
【0037】ここで、再び図3の説明に戻れば、初期集
団の生成が行われた後は、その初期集団の個々の染色体
が十分なものであるか(換言すれば、所望する制御プロ
グラムとして十分なものであるか)否かを判定する評価
処理が評価演算部7及びシュミレーション部8により行
われることとなる(図3のステップS200参照)。す
なわち、詳細は後述するが、染色体の所望する制御プロ
グラムとしての適応度が予め設定された評価関数を用い
て算出されることとなる。所定の手順により評価処理が
行われた後は、求められた適応度が所定の適応度である
か否かが演算制御部4により判定されることとなる(図
3のステップS300参照)。そして、所定の適応度が
得られたと判定された場合(YESの場合)には、一連
の処理が終了されることとなる一方、所定の適応度では
ないと判定された場合(NOの場合)には、遺伝的アル
ゴリズムの一つの処理として公知・周知の選択・交叉処
理が選択・交叉処理部5により行われることとなる(図
3のステップS400参照)。すなわち、まず、選択処
理は、後述する交叉処理及び突然変異処理と共に、所定
の適応度を満足しなかった染色体の集団を基に、次世代
の集団を生成するための処理の一つであり、概括的に説
明すれば、所定の適応度を満足しなかった集団から所定
の条件の下、染色体を選択する処理である。ここで、集
団の中から染色体を選択するための所定の条件として
は、適応度の高い順から高い確率で選択されるようにす
る。ここで、適応度の高いものを高い確率で選択される
ようにするためには、例えば、予め各々の染色体にいわ
ゆる重み付けをしておき、乱数を発生させて、その乱数
に応じて染色体を選択する際、重み付けを考慮して選択
するようにすればよく、このような手法は、いわゆるデ
ータ処理あるいは数値処理と称される分野で公知・周知
の手法であり、ここでの詳細な説明は省略することとす
る。Here, returning to the description of FIG. 3, after the generation of the initial population, whether the individual chromosomes of the initial population are sufficient (in other words, as a desired control program, An evaluation process for determining whether or not it is sufficient is performed by the evaluation calculation unit 7 and the simulation unit 8 (see step S200 in FIG. 3). That is, although the details will be described later, the fitness of the chromosome as a desired control program is calculated using a preset evaluation function. After the evaluation processing is performed according to the predetermined procedure, the arithmetic control unit 4 determines whether the obtained fitness is the predetermined fitness (see step S300 in FIG. 3). Then, when it is determined that the predetermined fitness is obtained (in the case of YES), a series of processing is ended, while when it is determined that the fitness is not the predetermined fitness (in the case of NO) Then, the selection / crossover process is performed by the selection / crossover processing unit 5 as one process of the genetic algorithm (see step S400 in FIG. 3). That is, first, the selection process is one of processes for generating a next-generation population based on a population of chromosomes that did not satisfy the predetermined fitness, together with a crossover process and a mutation process described below, In general, it is a process of selecting a chromosome under a predetermined condition from a group that does not satisfy a predetermined fitness. Here, as a predetermined condition for selecting a chromosome from a group, a chromosome is selected from a descending order of fitness with a high probability. Here, in order to select the one with the higher fitness with a high probability, for example, each chromosome is so-called weighted in advance, a random number is generated, and the chromosome is selected according to the random number. In this case, the weight may be selected in consideration of the weighting, and such a method is a known / known method in a field called so-called data processing or numerical processing, and a detailed description thereof is omitted here. I decided to.
【0038】上述のようにして選択処理がなされた後
は、選択された染色体に対して、交叉処理が施されるこ
ととなる。すなわち、交叉処理は、2つづつ選択された
染色体のある位置の遺伝子の交換を行うものである。よ
り具体的には、遺伝子交換を行う位置(交叉点)を予め
定めておき、この位置から後半の内容を2つの染色体の
間で相互に交換するもので、交叉点は、基本的には任意
に定めてよいものである。After the selection process is performed as described above, the selected chromosome is subjected to a crossover process. That is, the crossover process involves exchanging genes at certain positions of two chromosomes selected at a time. More specifically, a position (intersection point) at which gene exchange is performed is determined in advance, and the contents of the latter half are exchanged between two chromosomes from this position, and the intersection point is basically arbitrary. It may be determined in.
【0039】次に、選択・交叉処理が施された染色体に
対して、突然変異処理が突然変異処理部6により施され
ることとなる(図3のステップS500参照)。すなわ
ち、突然変異処理は、交叉処理が施された染色体集団の
中から所定の割合(所定の突然変異率)で突然変異処理
を施す対象となる染色体を選択し、その染色体につい
て、一つの遺伝子を任意に選択して、その内容を任意に
書き換えることにより行われるものである。ここで、書
き換えの内容は、選択された遺伝子に応じて異なるが、
その書き換えの内容は、それぞれの遺伝子毎に選択の幅
を設けておき、これを、例えば、乱数で決定させるよう
にすると好適である。突然変異処理が終了した後は、世
代計数用変数Nが1つ増加されて更新されることとなる
(図3のステップS600参照)。そして、再び先の評
価処理へ戻り、新たな世代の染色体について評価が行わ
れ、以後、先に説明したようにして所定の適応度の染色
体が生成されるまで各々の処理が繰り返されることとな
る。Next, the mutation processing is performed by the mutation processing unit 6 on the chromosome subjected to the selection / crossover processing (see step S500 in FIG. 3). That is, in the mutation process, a chromosome to be subjected to the mutation process at a predetermined ratio (predetermined mutation rate) is selected from the chromosome population subjected to the crossover process, and one gene is assigned to the chromosome. This is performed by arbitrarily selecting and arbitrarily rewriting the contents. Here, the content of rewriting differs depending on the selected gene,
It is preferable that the content of the rewriting is provided with a selection range for each gene, and this is determined by, for example, a random number. After the completion of the mutation process, the generation counting variable N is incremented by one and updated (see step S600 in FIG. 3). Then, returning to the previous evaluation process, the chromosome of the new generation is evaluated, and thereafter, each process is repeated until a chromosome of a predetermined fitness is generated as described above. .
【0040】次に、評価処理の具体的な内容について図
8乃至図12を参照しつつ説明する。まず、遺伝的アル
ゴリズムにおける染色体の評価は、予め遺伝的アルゴリ
ズムにより生成しようとする染色体の内容に応じて評価
関数を定めておき、評価の対象となる染色体について、
この評価関数を演算して、その計算結果である適応度を
求め、所定の適応度が得られているか否かによって、生
成された染色体の適否を決定するものである。この評価
の基本的な考え方としては、コンピュータ上に対象とな
るシステム(自動制御機器)をモデル化し、染色体上の
プログラムを一定ステップづつ実行させさた場合のシス
テムの応答を評価する。例えば、空調起動時の制御プロ
グラムを生成する場合には、目標温度への到達時間を評
価値にするとよい。かかる観点から、本発明の実施の形
態においては、適応度を算出する評価関数として、染色
体の形態で得られた制御プログラムによる車室内の目標
温度と、その制御プログラムを車両用空調装置において
実行した場合において得られる車室内の推定温度との偏
差が少ないほど適応度が高くなるようなものとした。具
体的には、下記する式1で表されたものが評価関数とし
て設定されている。Next, the specific contents of the evaluation processing will be described with reference to FIGS. First, in the evaluation of chromosomes in the genetic algorithm, an evaluation function is determined in advance according to the content of the chromosome to be generated by the genetic algorithm, and for the chromosome to be evaluated,
This evaluation function is calculated, the fitness as a result of the calculation is obtained, and the suitability of the generated chromosome is determined depending on whether a predetermined fitness is obtained. The basic idea of this evaluation is to model a target system (automatic control device) on a computer and evaluate the response of the system when a program on a chromosome is executed at a certain step. For example, when generating a control program at the time of starting air conditioning, the time to reach the target temperature may be used as the evaluation value. From this point of view, in the embodiment of the present invention, as the evaluation function for calculating the fitness, the target temperature in the passenger compartment by the control program obtained in the form of chromosomes and the control program were executed in the vehicle air conditioner. In this case, the smaller the deviation from the estimated vehicle interior temperature, the higher the fitness. Specifically, what is expressed by the following equation 1 is set as the evaluation function.
【0041】[0041]
【数1】 ここで、Ttarget ( m )は、有る時刻mにおける目標温度
であり、また、Tcab ( m )は、ある時刻mにおける室内代
表温度である。そして、Tcab ( m )は、下記する式2によ
って求められるものである。(Equation 1)Where Ttarget ( m )Is the target temperature at a certain time m
And Tcab ( m )Is the room bill at a certain time m
Table temperature. And Tcab ( m )Is given by the following equation 2.
Is required.
【0042】 Tcab ( m )=(Thead ( m )+Tfoot ( m ))/2・・・(式2)T cab ( m ) = (T head ( m ) + T foot ( m ) ) / 2 (Equation 2)
【0043】式2において、Thead ( m )は、ある時刻m
における車室内の頭部付近温度であり、また、Tfoot ( m
)は、ある時刻mにおける車室内の脚部付近温度であ
る。そして、上記評価関数は、目標温度Ttarget及び室
内代表温度Tcabの所定時間内(本発明の実施の形態に
おいては、30分間)における所定時間間隔におけるそ
れぞれの値の差(Ttarget ( m )−Tcab ( m ))について二
乗したものの1/2についての積算値の逆数として適応
度を求めるものとなっている。ここで、所定時間間隔
は、本発明の実施の形態においては、5秒間隔としてあ
る。In Equation 2, T head ( m ) is a certain time m
Is the temperature near the head in the vehicle cabin, and T foot ( m
) Is the temperature near the legs in the vehicle cabin at a certain time m. The evaluation function is obtained by calculating the difference (T target ( m )) between the target temperature T target and the indoor representative temperature T cab within a predetermined time period (30 minutes in the embodiment of the present invention) at predetermined time intervals. −T cab ( m ) ) is determined as the reciprocal of the integrated value of も の of the squared value of the fitness value. Here, the predetermined time interval is a 5-second interval in the embodiment of the present invention.
【0044】そして、染色体の形態で得られた制御プロ
グラムによる車室内の目標温度と、その制御プログラム
を車両用空調装置において実行した場合において得られ
る車室内の推定温度との偏差を求めるために、本発明の
実施の形態においては、実際の車両用空調装置の動作時
のデータに基づいたニューラルネットワークが予め設定
されており(詳細は後述)、このニューラルネットワー
クにより、制御プログラムを車両用空調装置へ適用した
際の車室内温度変化のシュミレーションが所定時間の間
(本発明の実施の形態においては30分間)行われるよ
うになっている。すなわち、まず、本発明の実施の形態
においては、エバポレータ13の推定温度及びヒータコ
ア15の推定温度を得るための第1のニューラルネット
ワーク31(図8(A)参照)と、車室内における乗員
の頭部付近の推定温度及び脚部付近の推定温度を得るた
めの第2のニューラルネットワーク32(図8(B)参
照)の2つがシュミレーション部8に構築されている。
いずれのニューラルネットワーク31,32も、その基
本的な構成は、公知・周知のニューラルネットワークに
基づくもので、本発明の実施の形態においては、いずれ
も入力層6、出力層2、中間層10のいわゆる階層型ニ
ューラルネットワークとなっているものである。Then, in order to obtain a deviation between the target temperature in the passenger compartment by the control program obtained in the form of a chromosome and the estimated temperature in the passenger compartment obtained when the control program is executed in the vehicle air conditioner, In the embodiment of the present invention, a neural network based on data at the time of actual operation of the vehicle air conditioner is set in advance (details will be described later), and a control program is transmitted to the vehicle air conditioner by the neural network. The simulation of the vehicle interior temperature change at the time of application is performed for a predetermined time (30 minutes in the embodiment of the present invention). That is, first, in the embodiment of the present invention, a first neural network 31 (see FIG. 8A) for obtaining the estimated temperature of the evaporator 13 and the estimated temperature of the heater core 15 and the head of the occupant in the vehicle compartment Two of the second neural network 32 (see FIG. 8B) for obtaining the estimated temperature near the part and the estimated temperature near the leg are constructed in the simulation part 8.
The basic configuration of each of the neural networks 31 and 32 is based on a well-known and well-known neural network. In the embodiment of the present invention, any of the input layer 6, the output layer 2, and the intermediate layer 10 is used. This is a so-called hierarchical neural network.
【0045】2つのニューラルネットワーク31,32
は共に、ブロア回転速度、エバポレータ温度、ミックス
ドア開度、ヒータコア温度、室内代表温度及び外気温度
の6つのデータを入力するものとなっている。また、一
般にニューラルネットワークは、良く知られているよう
に、予め学習が必要であるが、この学習における教師デ
ータとしては、第1のニューラルネットワーク31の場
合、所定時間間隔(本発明の実施の形態においては、5
秒間隔)毎の入力データに対するエバポレータ温度及び
ヒータコア温度であり、第2のニューラルネットワーク
32の場合、所定時間間隔(本発明の実施の形態におい
ては、5秒間隔)毎の入力データに対する頭部付近温度
及び脚部付近温度である。これらのデータを得るため
に、本発明の実施の形態においては、実際の車両用空調
装置の動作条件を種々に変えて、サンプリング間隔5秒
で、3710種類の(約5分間)のデータ(第1及び第
2のニューラルネットワーク31,32の入力データと
出力データに対応するそれぞれのデータ)を計測した。
そして、この計測データから、同じ入力に対して異なる
出力値となるようなデータなど、矛盾するデータを削除
し、実際には2793種類のデータを学習に使用した。
また、学習は、誤差逆伝播法により50万回行った。特
に、本発明の実施の形態においては、一つの学習対象と
なる一つのパターンが提示される度毎に、誤差逆伝搬法
に基づく演算を繰り返すいわゆる逐次修正モーメント法
を用いて、中間層、出力層、隠れ層に対する必要な修正
を施すようにした。Two neural networks 31, 32
Are used to input six data: blower rotation speed, evaporator temperature, mix door opening, heater core temperature, indoor representative temperature, and outside air temperature. Generally, as is well known, a neural network needs to be learned in advance. In the case of the first neural network 31, as training data in this learning, a predetermined time interval (embodiment of the present invention) At 5
The evaporator temperature and the heater core temperature for the input data at every second interval). In the case of the second neural network 32, the vicinity of the head for the input data at the predetermined time interval (5 second interval in the embodiment of the present invention). Temperature and temperature near the leg. In order to obtain these data, in the embodiment of the present invention, the operating conditions of the actual air conditioner for a vehicle are variously changed, and 3710 kinds of data (about 5 minutes) are obtained at a sampling interval of 5 seconds. The data corresponding to the input data and the output data of the first and second neural networks 31 and 32 were measured.
Then, from the measured data, inconsistent data such as data having different output values with respect to the same input was deleted, and 2793 types of data were actually used for learning.
The learning was performed 500,000 times by the back propagation method. In particular, in the embodiment of the present invention, each time one pattern to be learned is presented, the so-called successively corrected moment method that repeats the operation based on the error back propagation method is used for the intermediate layer and the output. Made necessary corrections to layers and hidden layers.
【0046】図9及び図10には、上述のようにして得
られた第1及び第2のニューラルネットワーク31,3
2の精度を確認するために、第1及び第2のニューラル
ネットワーク31,32により得られた推定温度と実測
値とが示されている。なお、図9及び図10において、
「NN」は、ニューラルネットワークの意味である。す
なわち、図9及び図10には、学習が完了した第1及び
第2のニューラルネットワーク31,32を用いて30
分間に渡り、エバポレータ温度、ヒータコア温度、頭部
付近温度及び脚部付近温度の各々の推定値を5秒毎に得
た場合の変化を示すそれぞれの特性線と、第1及び第2
のニューラルネットワーク31,32を動作させた場合
と同じ入力データの条件で、実際の車両用空調装置を動
作させた場合における上述の各々の推定温度に対応する
実測値の変化を示すそれぞれの特性線が示されている。
いずれの図においても、それぞれの推定値の変化特性を
示す特性線と、実測値の変化特性を示す特性線とがほぼ
一致しており、第1及び第2のニューラルネットワーク
31,32ともに、推定温度を求めるのに十分なものと
なっていることが確認できるものとなっている。FIGS. 9 and 10 show the first and second neural networks 31 and 3 obtained as described above.
In order to confirm the accuracy of No. 2, estimated temperatures and measured values obtained by the first and second neural networks 31 and 32 are shown. In FIGS. 9 and 10,
“NN” means a neural network. That is, FIG. 9 and FIG. 10 show 30 points using the first and second neural networks 31 and 32 for which learning has been completed.
Over a period of 5 minutes, the respective characteristic lines showing changes when estimating values of the evaporator temperature, the heater core temperature, the temperature near the head and the temperature near the leg are obtained every 5 seconds, and the first and second characteristic lines.
Characteristic lines showing changes in the actually measured values corresponding to the above-described respective estimated temperatures when the actual vehicle air conditioner is operated under the same input data conditions as when the neural networks 31 and 32 are operated. It is shown.
In each of the figures, the characteristic line indicating the change characteristic of each estimated value and the characteristic line indicating the change characteristic of the actually measured value almost coincide with each other, and both the first and second neural networks 31 and 32 perform the estimation. It can be confirmed that the temperature is sufficient to determine the temperature.
【0047】ここで、上述したような第1及び第2のニ
ューラルネットワーク31,32を用いて、先に示され
た式1により染色体の適応度を得る手順について図11
及び図12を参照しつつ改めて説明をする。まず、全体
的な流れを、図11を参照しつつ説明すれば、最初に第
1のタイマーT1の計時動作が開始されることとなる
(図11のステップS202参照)。同時に、染色体上
の制御プログラムの1ステップが実行され、その制御プ
ログラムにおいて、第1及び第2のニューラルネットワ
ーク31,32の入力データに対応するものがある場合
には、その値が第1及び第2のニューラルネットワーク
31,32へ入力データとして入力されることとなる
(図11のステップS210参照)。なお、図11にお
いて、「NN」は、「ニューラルネットワーク」の意味
である。次いで、第2のタイマーT2の計時開始から所
定時間tb経過したか否かが判定されることとなる(図
11のステップS250参照)。ここで、T2は、詳細
を後述するプログラム実行処理(図11のステップS2
10参照)において計時開始される第2のタイマーであ
り、tbは、本発明の実施の形態においては、5秒に設
定されている。Here, a procedure for obtaining the fitness of the chromosome by the above-described equation 1 using the first and second neural networks 31 and 32 as described above is shown in FIG.
This will be described again with reference to FIG. First, the overall flow will be described with reference to FIG. 11. First, the timing operation of the first timer T1 is started (see step S202 in FIG. 11). At the same time, one step of the control program on the chromosome is executed, and if there is one corresponding to the input data of the first and second neural networks 31 and 32 in the control program, the value is changed to the first and second neural networks. 2 are input as input data to the second neural networks 31 and 32 (see step S210 in FIG. 11). In FIG. 11, “NN” means “neural network”. Next, it is determined whether or not a predetermined time tb has elapsed from the start of the timing of the second timer T2 (see step S250 in FIG. 11). Here, T2 is a program execution process described in detail later (step S2 in FIG. 11).
10) is a second timer started to measure time, and tb is set to 5 seconds in the embodiment of the present invention.
【0048】そして、ステップS250において、所定
時間tb経過したと判定されると(YESの場合)、先
に示した式1の演算が評価演算部7により行われること
となる(図11のステップS252参照)。次いで、第
1のタイマーT1の計時開始から所定時間ta経過した
か否かが判定されることとなる(図11のステップS2
54参照)。ここで、taは、本発明の実施の形態にお
いては、30分に設定されている。このステップS25
4において、所定時間taを経過したと判定された場合
(YESの場合)には、一連の処理が終了されて、メイ
ンルーチン(図3参照)へ戻ることとなる。一方、この
ステップS254において、未だ所定時間taを経過し
ていないと判定された場合(NOの場合)には、先のス
テップS210へ戻り、制御プログラムの次のステップ
について同様な処理が繰り返されることとなる。If it is determined in step S250 that the predetermined time tb has elapsed (in the case of YES), the above-described calculation of Expression 1 is performed by the evaluation calculation unit 7 (step S252 in FIG. 11). reference). Next, it is determined whether or not a predetermined time ta has elapsed from the start of the timing of the first timer T1 (step S2 in FIG. 11).
54). Here, ta is set to 30 minutes in the embodiment of the present invention. This step S25
In 4, when it is determined that the predetermined time ta has elapsed (in the case of YES), a series of processing ends, and the process returns to the main routine (see FIG. 3). On the other hand, if it is determined in this step S254 that the predetermined time ta has not yet elapsed (NO), the process returns to the previous step S210, and the same processing is repeated for the next step of the control program. Becomes
【0049】このように、本発明の実施の形態において
は、染色体の評価処理として、染色体上の制御プログラ
ムを1ステップづつ5秒間隔で実行してゆくと共に、そ
の制御プログラムの実行による第1及び第2のニューラ
ルネットワーク31,32へのデータ入力を行い、エバ
ポレータ温度、ヒータコア温度、頭部付近温度及び脚部
付近温度の推定値を5秒間隔で得る。そして、その度毎
に目標温度と室内代表温度との偏差の2乗の2分の1を
求めることを30分間行い、式1による適応度を得るよ
うになっている。なお、ここで、式2で求められる室内
代表温度は、上述のように頭部付近温度及び脚部付近温
度の推定値に基づくものであることから、換言すれば、
車室内の推定温度と言えるものである。As described above, in the embodiment of the present invention, as the chromosome evaluation process, the control program on the chromosome is executed step by step at intervals of 5 seconds, and the first and second control programs are executed by executing the control program. Data is input to the second neural networks 31 and 32, and estimated values of the evaporator temperature, the heater core temperature, the temperature near the head and the temperature near the legs are obtained at 5-second intervals. Then, each time, the half of the square of the deviation between the target temperature and the indoor representative temperature is obtained for 30 minutes, and the fitness according to Equation 1 is obtained. Here, since the indoor representative temperature obtained by Expression 2 is based on the estimated values of the temperature near the head and the temperature near the legs as described above, in other words,
It can be said that it is the estimated temperature in the cabin.
【0050】図12には、先のステップ210における
具体的な処理手順が示されており、以下、同図を参照し
つつその内容について説明する。染色体上の制御プログ
ラムは、この図12に示された手順にしたがって一定時
間間隔(本発明の実施の形態においては、5秒間隔)で
1ステップづつ(換言すれば、1遺伝子毎)実行され
る。すなわち、処理が開始されると、まず、遺伝子上の
命令(コマンド)の読み出しが行われることとなる(図
12のステップS212参照)。すなわち、関数断片の
内容が読み出されることとなる。次いで、読み出された
コマンドが何かが判定され、コマンドが「IF」である
と判定された場合には、ステップS216の処理へ進む
一方、コマンドが「IF」以外(Other)であると判定
された場合には、ステップS222の処理へ進むことと
なる。FIG. 12 shows a specific processing procedure in the previous step 210, and its contents will be described below with reference to FIG. The control program on the chromosome is executed step by step (in other words, for each gene) at regular time intervals (in the embodiment of the present invention, every 5 seconds) according to the procedure shown in FIG. . That is, when the process is started, first, an instruction (command) on the gene is read out (see step S212 in FIG. 12). That is, the contents of the function fragment are read. Next, it is determined what the read command is, and when it is determined that the command is “IF”, the process proceeds to step S216, while it is determined that the command is other than “IF” (Other). If so, the process proceeds to step S222.
【0051】まず、ステップ216においては、関数断
片に続く要素断片の内容がデコードされて、IF文とし
ての内容の判定が行われ、その内容に応じて分岐先の遺
伝子へのジャンプが行われる(図12のステップS21
8参照)。次いで、分岐先の遺伝子が染色体の終端であ
るか否かの判定が行われ、終端であると判定された場合
(YESの場合)には、後述するステップ232の処理
へ進む一方、終端ではないと判定された場合(NOの場
合)には、一連の処理が終了されることとなる(図12
のステップ220参照)。First, in step 216, the content of the element fragment following the function fragment is decoded, the content of the IF statement is determined, and a jump to the gene at the branch destination is performed according to the content ( Step S21 in FIG.
8). Next, it is determined whether or not the gene at the branch destination is at the end of the chromosome. When it is determined that the gene is at the end (in the case of YES), the process proceeds to step 232 to be described later, while not at the end. Is determined (in the case of NO), a series of processing ends (FIG. 12).
Step 220).
【0052】一方、ステップ222においては、コマン
ドが「SET」か「ENDIF」かが判定され、コマン
ドは「ENDIF」であると判定された場合には、次の
ステップS224の処理を行うことなく、後述するステ
ップS226の処理へ進む。また、ステップ222にお
いて、コマンドは「SET」であると判定された場合に
は、要素断片のC値が1、すなわち、先に説明したよう
に使用対象とされているアクチュエータの値が読み出さ
れて、これが第1及び第2のニューラルネットワーク3
1,32へ入力されることとなる(図12のステップS
224参照)。なお、図12のステップS224におい
て、「NN」は、ニューラルネットワークの意味であ
る。次いで、第2のタイマーT2の計時動作が開始され
(図12のステップS226参照)、1ステップ進めら
れることとなる(図12のステップ228参照)。そし
て、染色体の終端であるか否かが判定され、終端である
と判定された場合(YESの場合)には、先頭の遺伝子
が処理対象に指定されて一連の処理が一旦終了されるこ
ととなる(図12のステップS232参照)。一方、ス
テップ230において、染色体の終端ではないと判定さ
れた場合(NOの場合)には、上述のステップS232
の処理を行うことなく一連の処理が一旦終了されること
となる。On the other hand, in step 222, it is determined whether the command is “SET” or “ENDIF”. If it is determined that the command is “ENDIF”, the process in step S224 is not performed. The process proceeds to step S226 described below. When it is determined in step 222 that the command is “SET”, the C value of the element fragment is 1, that is, the value of the actuator to be used as described above is read out. And this is the first and second neural networks 3
1 and 32 (step S in FIG. 12).
224). In addition, in step S224 of FIG. 12, "NN" means a neural network. Next, the timer operation of the second timer T2 is started (see step S226 in FIG. 12), and one step is advanced (see step 228 in FIG. 12). Then, it is determined whether or not it is the end of the chromosome, and if it is determined that the end is the case (YES), the first gene is designated as a processing target, and a series of processing is temporarily terminated. (See step S232 in FIG. 12). On the other hand, if it is determined in step 230 that it is not the end of the chromosome (NO), the above-described step S232 is performed.
A series of processes is temporarily terminated without performing the process of (1).
【0053】[0053]
【発明の効果】以上、述べたように、本発明によれば、
染色体を構成する遺伝子がプログラムの1ステップに対
応するにように染色体を所定の形式でコーディングし、
いわゆる遺伝子アルゴリズムにより、所望のプログラム
が自動生成できるようにしたので、手作業によるプログ
ラムの作成を行うことなく、所望のプログラムを得るこ
とができ、作業時間の削減、ひいては、自動生成された
制御プログラムを用いた装置の低価格化を図ることがで
きる。また、染色体のコーディングは、アクチュエータ
とセンサとを有すると共に、演算処理部を有してなるよ
うな自動制御機器を前提としたものとすることで、汎用
性のあるプログラム自動生成方法及び装置を提供するこ
とができるという効果を奏するものである。As described above, according to the present invention,
Coding the chromosome in a predetermined format so that the genes constituting the chromosome correspond to one step of the program,
Since a desired program can be automatically generated by a so-called genetic algorithm, a desired program can be obtained without manually creating a program, thereby reducing work time and, consequently, automatically generating a control program. It is possible to reduce the price of the device using the device. In addition, chromosome coding is based on an automatic control device having an actuator and a sensor and an arithmetic processing unit, thereby providing a versatile program automatic generation method and apparatus. This has the effect of being able to do so.
【図1】本発明の実施の形態におけるプログラム自動生
成装置の構成例を示す構成図である。FIG. 1 is a configuration diagram illustrating a configuration example of an automatic program generation device according to an embodiment of the present invention.
【図2】本発明の実施の形態において、制御プログラム
を自動生成する対象とされた自動車用空調装置の構成を
示す構成図である。FIG. 2 is a configuration diagram showing a configuration of an automotive air conditioner for which a control program is automatically generated in the embodiment of the present invention.
【図3】図1に示されたプログラム自動生成装置による
プログラム自動生成の処理手順を示すメインフローチャ
ートである。FIG. 3 is a main flowchart showing a processing procedure of automatic program generation by the automatic program generation device shown in FIG. 1;
【図4】本発明の実施の形態における染色体のコーディ
ング形式を説明する説明図である。FIG. 4 is an explanatory diagram illustrating a coding format of a chromosome according to the embodiment of the present invention.
【図5】要素断片内で設定される値を説明する説明図で
ある。FIG. 5 is an explanatory diagram illustrating values set in element fragments.
【図6】染色体のコーディングの第1の例を示す説明図
である。FIG. 6 is an explanatory diagram showing a first example of chromosome coding.
【図7】染色体のコーディングの第2の例を示す説明図
である。FIG. 7 is an explanatory diagram showing a second example of chromosome coding.
【図8】本発明の実施の形態における第1及び第2のニ
ューラルネットワークの構成を模式的に示す模式図であ
り、図8(A)は、第1のニューラルネットワークの構
成を模式的に示す模式図、図8(B)は、第2のニュー
ラルネットワークの構成を模式的に示す模式図である。FIG. 8 is a schematic diagram schematically illustrating a configuration of first and second neural networks according to the embodiment of the present invention. FIG. 8A schematically illustrates a configuration of the first neural network. FIG. 8B is a schematic diagram schematically showing the configuration of the second neural network.
【図9】本発明の実施の形態における第1のニューラル
ネットワークにより得たエバポレータ温度及びヒータコ
ア温度とその実測値との時間変化を示す特性線図であ
る。FIG. 9 is a characteristic diagram showing a time change between the evaporator temperature and the heater core temperature obtained by the first neural network and the measured values thereof according to the embodiment of the present invention.
【図10】本発明の実施の形態における第2のニューラ
ルネットワークにより得た頭部付近温度及び脚部付近温
度とその実測値との時間変化を示す特性線図である。FIG. 10 is a characteristic diagram showing a time change between the temperature near the head and the temperature near the leg obtained by the second neural network according to the embodiment of the present invention and the measured value thereof.
【図11】本発明の実施の形態における評価処理の手順
を示すサブルーチンフローチャートである。FIG. 11 is a subroutine flowchart showing a procedure of an evaluation process according to the embodiment of the present invention.
【図12】図11におけるプログラム実行の処理手順を
示すサブルーチンフローチャートである。FIG. 12 is a subroutine flowchart showing a processing procedure for executing a program in FIG. 11;
1…入力部 2…中央処理部 3…表示部 4…演算制御部 5…選択・交叉処理部 6…突然変異処理部 7…評価演算部 8…シュミレーション部 31…第1のニューラルネットワーク 32…第2のニューラルネットワーク DESCRIPTION OF SYMBOLS 1 ... Input part 2 ... Central processing part 3 ... Display part 4 ... Calculation control part 5 ... Selection / crossover processing part 6 ... Mutation processing part 7 ... Evaluation calculation part 8 ... Simulation part 31 ... First neural network 32 ... No. 2 neural networks
フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 9/44 G06N 3/12 G06N 3/12 G06F 9/06 620A (72)発明者 伊藤 榮信 埼玉県大里郡江南町大字千代字東原39番地 株式会社ゼクセルヴァレオクライメート コントロール内 (72)発明者 綿貫 啓一 埼玉県蕨市塚越4−12−27−215 (72)発明者 大滝 英征 埼玉県吉川市保514−12 Fターム(参考) 3L060 AA06 AA08 CC02 CC03 CC04 CC05 DD08 EE05 EE07 5B076 DD09 5H215 BB01 BB05 JJ02 JJ13 JJ14Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat II (Reference) G06F 9/44 G06N 3/12 G06N 3/12 G06F 9/06 620A (72) Inventor Einobu Ito Konan, Osato-gun, Saitama 39, Higashihara, Chiyo-cho, Machio-machi Inside of Xexel Valeo Climate Control (72) Inventor Keiichi Watanuki 4-12-27-215, Tsukakoshi, Warabi-shi, Saitama Terms (reference) 3L060 AA06 AA08 CC02 CC03 CC04 CC05 DD08 EE05 EE07 5B076 DD09 5H215 BB01 BB05 JJ02 JJ13 JJ14
Claims (10)
グラムを自動生成するプログラム自動生成方法であっ
て、 所定のコーディング形式でコーディングされた染色体の
初期集団を生成し、 所定の評価関数に基づいて、前記初期集団を構成する個
々の染色体の適応度を算出して、所定の適応度を満足す
る染色体が存在するか否かを判定し、 所定の適応度を満足する染色体があると判定された場合
には、当該染色体をデコードして得られるプログラム
を、求める制御プログラムとする一方、 所定の適応度を満足する染色体がないと判定された場合
には、 所定の適応度を満足しない染色体集団に対して、選択処
理、交叉処理及び突然変異処理を順次施し、その後、所
定の評価関数に基づく適応度の算出を行い、所定の適応
度を満足する染色体の有無の判定と染色体集団に対する
選択処理、交叉処理及び突然変異処理を行うことを、所
定の適応度を満足する染色体が得られるまで繰り返し行
い、所定の適応度を満足する染色体が得られた場合は、
当該染色体をデコードして得られるプログラムを、求め
る制御プログラムとし、 前記選択処理は、第1の所定の条件の下で染色体集団か
ら2つの染色体をランダムに選択するものとし、 前記交叉処理は、前記選択処理により選択された2つの
染色体について、第2の所定の条件の下、相互の内容を
交叉させて新たな2つの染色体を生成し、 前記突然変異処理は、前記交叉処理が施された染色体の
中から、所定の割合でランダムに染色体を選択し、当該
選択された染色体のなかの一つの遺伝子をランダムに選
択し、当該遺伝子の内容を書き換えて染色体に突然変異
を施すものであることを特徴とするプログラム自動生成
方法。1. An automatic program generation method for automatically generating a control program for controlling the operation of an automatic control device, comprising: generating an initial population of chromosomes coded in a predetermined coding format, based on a predetermined evaluation function. The fitness of each chromosome constituting the initial population is calculated, and it is determined whether there is a chromosome satisfying the predetermined fitness.It is determined that there is a chromosome satisfying the predetermined fitness. In such a case, the program obtained by decoding the chromosome is used as the control program to be obtained.On the other hand, when it is determined that there is no chromosome satisfying the predetermined fitness, the chromosome population not satisfying the predetermined fitness is determined On the other hand, selection processing, crossover processing, and mutation processing are sequentially performed, and thereafter, fitness is calculated based on a predetermined evaluation function, and chromosomes satisfying the predetermined fitness are calculated. The determination of noness and the selection process for the chromosome population, the crossover process and the mutation process are repeatedly performed until a chromosome satisfying the predetermined fitness is obtained.If a chromosome satisfying the predetermined fitness is obtained, ,
A program obtained by decoding the chromosome is a control program to be obtained. The selection process is to randomly select two chromosomes from a chromosome group under a first predetermined condition. The two chromosomes selected by the selection process are crossed with each other under a second predetermined condition to generate two new chromosomes, and the mutation process includes the chromosome subjected to the cross process. Randomly select a chromosome at a predetermined ratio from among the chromosomes, randomly select one gene from the selected chromosome, rewrite the contents of the gene and mutate the chromosome Characteristic program automatic generation method.
ぞれ一つの関数断片と複数の要素断片からなり、 前記関数断片は、遺伝子全体のプログラムとしての性格
を決定する要素が設定される部分であって、当該要素
は、制御プログラムに用いられるプログラム言語の内、
予め選択された複数のもののなかから選択され、 前記複数の要素断片は、制御プログラムの対象である自
動制御機器のアクチュエータの数とセンサの数の総和に
対応して設けられ、対応するアクチュエータの操作量又
はセンサの値が設定されてなるものであることを特徴と
する請求項1記載のプログラム自動生成方法。2. A plurality of genes constituting a chromosome are each composed of one function fragment and a plurality of element fragments, and the function fragment is a portion in which an element for determining a program character of the entire gene is set. Therefore, the element is a program language used in the control program,
The plurality of element fragments are selected from a plurality of preselected ones, and the plurality of element fragments are provided corresponding to the sum of the number of actuators and the number of sensors of the automatic control device that is the object of the control program, and the operation of the corresponding actuator 2. The automatic program generation method according to claim 1, wherein an amount or a value of a sensor is set.
1の区分にはA値が、第2の区分にはB値が、第3の区
分にはC値が、第4の区分にはD値が、第5の区分には
E値が、第6の区分にはF値が、それぞれ設定されるも
のであって、 A値は、0か1かのいずれかを採り、0の場合は、当該
要素断片がセンサの値を、1の場合は、当該要素断片が
アクチュエータの操作量を、それぞれ決定するものであ
ることを意味し、 B値は、アクチュエータ又はセンサの名称が設定され、 C値は、使用又は未使用のいずれかが設定され、 D値は、論理演算子が設定され、 E値は、比較演算子が設定され、 F値は、アクチュエータの操作量又はセンサの値が設定
されるものであることを特徴とする請求項2記載のプロ
グラム自動生成方法。3. The element fragment is divided into six sections, a first section having an A value, a second section having a B value, a third section having a C value, and a fourth section having a C value. The D value is set in the section, the E value is set in the fifth section, and the F value is set in the sixth section. The A value takes either 0 or 1, If 0, it means that the element fragment determines the value of the sensor, and if it is 1, it means that the element fragment determines the operation amount of the actuator. B value is the name of the actuator or sensor. The C value is set to either use or unused, the D value is set to a logical operator, the E value is set to a comparison operator, and the F value is the actuator operation amount or sensor. 3. The automatic program generation method according to claim 2, wherein the value is set.
調駆動用のものである場合、所定の評価関数は、制御プ
ログラムにより設定される車室内の目標温度と、当該制
御プログラムにより前記自動車用空調装置の動作が制御
された場合における車室内推定温度との偏差が小さくな
るに従い高い適応度となるように設定されたものである
ことを特徴とする請求項3記載のプログラム自動生成方
法。4. When the control program is for driving an air conditioner of an automotive air conditioner, the predetermined evaluation function is a target temperature in the vehicle interior set by the control program, and the target temperature of the vehicle interior by the control program. 4. The automatic program generation method according to claim 3, wherein the fitness is set to be higher as the deviation from the estimated temperature in the vehicle compartment when the operation of (1) is controlled becomes smaller.
Tcab)2/2)} −1と表されてなり、 前記Ttargetは、制御プログラムにより設定される車室
内の目標温度であり、前記Tcabは、前記車室内の室内
代表温度であり、 前記適応度を求める式において、前記目標温度と前記室
内代表温度との偏差の総和の部分は、所定時間の間、所
定時間間隔で求められた前記目標温度と前記室内代表温
度との偏差の総和であり、 前記室内代表温度を求めるための前記頭部付近温度及び
前記脚部付近温度は、評価の対象である染色体をデコー
ドして得られた制御プログラムを、ニューラルネットワ
ークに適用して前記所定時間の間、当該ニューラルネッ
トワークを動作させ、前記所定時間間隔で当該ニューラ
ルネットワークから得られる推定温度とし、 ニューラルネットワークは、第1のニューラルネットワ
ークと、第2のニューラルネットワークの2つであっ
て、いずれのニューラルネットワークも、自動車用空調
装置におけるブロア回転速度、エバポレータ温度、ミッ
クスドア開度、ヒータコア温度、室内代表温度及び外気
温度を入力データとし、 前記第1のニューラルネットワークは、エバポレータ温
度の推定値及びヒータコア温度の推定値を出力し、前記
第2のニューラルネットワークは、頭部付近温度の推定
値及び脚部付近温度の推定値を出力するもので、 前記エバポレータ温度の推定値及び前記ヒータコア温度
の推定値は、第1及び第2のニューラルネットワークの
入力データとして入力へ帰還され、前記頭部付近温度の
推定値及び前記脚部付近温度の推定値の平均値は、室内
代表温度として第1及び第2のニューラルネットワーク
の入力へ帰還されることを特徴とする請求項4記載のプ
ログラム自動生成方法。5. The evaluation function is: fitness = {Σ (Ttarget−
Tcab)2/ 2)} -1And the above TtargetIs the cabin set by the control program
Is the target temperature withincabIs the interior of the cabin
A representative temperature, and in the equation for calculating the fitness, the target temperature and the chamber
The sum of the deviation from the representative temperature in the
The target temperature and the indoor representative temperature obtained at regular time intervals
It is the sum of the deviation from the temperature, the temperature near the head for obtaining the room representative temperature and
The temperature near the leg is determined by decoding the chromosome to be evaluated.
The control program obtained by the
The neural network during the predetermined time
Network and operate the neural network at the predetermined time interval.
The neural network is the first neural network.
Network and the second neural network.
All neural networks are used for automotive air conditioning.
Blower rotation speed, evaporator temperature,
Door opening, heater core temperature, indoor representative temperature and outside air
Temperature as input data, the first neural network comprises an evaporator temperature
Output an estimated value of the temperature and an estimated value of the heater core temperature,
The second neural network estimates the temperature near the head
And outputs an estimated value of the temperature near the leg and the estimated value of the evaporator temperature and the heater core temperature.
Is estimated by the first and second neural networks.
Returned to the input as input data, the temperature near the head
The average of the estimated value and the estimated value of the temperature near the leg is determined by the
First and second neural networks as representative temperatures
5. The process according to claim 4, wherein the feedback is made to the input of
Automatic program generation method.
グラムを自動生成するプログラム自動生成装置であっ
て、 データ及びコマンドの入力を行うための入力手段と、 前記入力手段により入力された動作開始指令によって、
初期集団を構成する染色体を予め定められたコーディン
グ形式で生成すると共に、所定の演算、動作制御を行う
演算制御手段と、 複数の染色体の中から第1の所定の条件の下、染色体を
選択し、当該選択された染色体に対して第2の所定の条
件の下、染色体同士の内容を交換する交叉を施す選択・
交叉処理手段と、 前記選択・交叉処理手段による処理が施された染色体の
遺伝子の一部を任意に書き換える突然変異を施す突然変
異処理手段と、 評価対象とされた染色体の適応度を、予め定められた評
価関数によって算出する評価手段とを具備し、 前記演算制御手段は、染色体の初期集団生成後、当該染
色体を前記評価手段による評価対象として、前記評価手
段に適応度を算出させ、当該算出された適応度が所定の
値を満たすか否かを判定し、所定の適応度が得られたと
判定された場合には、当該染色体をデコードして得られ
るプログラムを求める制御プログラムとする一方、 所定の適応度が得られないと判定された場合には、前記
選択・交叉処理手段による処理及び前記突然変異処理手
段による処理並びに前記評価手段による処理を、所定の
適応度の染色体が得られるまで反復させ、所定の適応度
が得られたと判定された場合は、当該染色体をデコード
して得られるプログラムを求める制御プログラムとする
ことを特徴とするプログラム自動生成装置。6. An automatic program generation device for automatically generating a control program for controlling the operation of an automatic control device, comprising: input means for inputting data and commands; and an operation start command input by the input means. By
Calculating a chromosome constituting the initial population in a predetermined coding format, and performing a predetermined operation and operation control; selecting a chromosome from a plurality of chromosomes under a first predetermined condition; Selecting crossovers for exchanging the contents of the selected chromosomes under a second predetermined condition.
Crossover processing means, mutation processing means for performing mutation for arbitrarily rewriting a part of the gene of the chromosome processed by the selection / crossover processing means, and fitness of the chromosome to be evaluated are predetermined. Evaluation means for calculating by a given evaluation function, the arithmetic control means, after the initial population of chromosomes is generated, the chromosome is evaluated by the evaluation means, the evaluation means to calculate the fitness, the calculation It is determined whether the obtained fitness satisfies a predetermined value, and when it is determined that the predetermined fitness is obtained, a control program for obtaining a program obtained by decoding the chromosome is used. If it is determined that the fitness of No. is not obtained, the processing by the selection / crossover processing means, the processing by the mutation processing means, and the processing by the evaluation means are considered It is repeated until a chromosome with a certain fitness is obtained, and when it is determined that the predetermined fitness is obtained, a control program for obtaining a program obtained by decoding the chromosome is automatically generated. apparatus.
構成する複数の遺伝子を、それぞれ一つの関数断片と複
数の要素断片とからなるものとするもので、 前記関数断片は、遺伝子全体のプログラムとしての性格
を決定する要素が設定される部分であって、当該要素
は、制御プログラムに用いられるプログラム言語の内、
予め選択された複数のもののなかから選択され、 前記複数の要素断片は、制御プログラムの対象である自
動制御機器のアクチュエータの数とセンサの数の総和に
対応して設けられ、対応するアクチュエータの操作量又
はセンサの値が設定されてなるものであることを特徴と
する請求項6記載のプログラム自動生成装置。7. The coding format of a chromosome is such that a plurality of genes constituting a chromosome are each composed of one function fragment and a plurality of element fragments, and the function fragment is a program of the entire gene. This is the part where the element that determines the personality is set, and the element is one of the programming languages used for the control program.
The plurality of element fragments are selected from a plurality of preselected ones, and the plurality of element fragments are provided corresponding to the sum of the number of actuators and the number of sensors of the automatic control device that is the object of the control program, and the operation of the corresponding actuator 7. The automatic program generation device according to claim 6, wherein an amount or a value of a sensor is set.
1の区分にはA値が、第2の区分にはB値が、第3の区
分にはC値が、第4の区分にはD値が、第5の区分には
E値が、第6の区分にはF値が、それぞれ設定されるも
のであって、 A値は、0か1かのいずれかを採り、0の場合は、当該
要素断片がセンサの値を、1の場合は、当該要素断片が
アクチュエータの操作量を、それぞれ決定するものであ
ることを意味し、 B値は、アクチュエータ又はセンサの名称が設定され、 C値は、使用又は未使用のいずれかが設定され、 D値は、論理演算子が設定され、 E値は、比較演算子が設定され、 F値は、アクチュエータの操作量又はセンサの値が設定
されるものであることを特徴とする請求項7記載のプロ
グラム自動生成装置。8. An element fragment is divided into six sections, the first section having an A value, the second section having a B value, the third section having a C value, and the fourth section having a C value. The D value is set in the section, the E value is set in the fifth section, and the F value is set in the sixth section. The A value takes either 0 or 1, If 0, it means that the element fragment determines the value of the sensor, and if it is 1, it means that the element fragment determines the operation amount of the actuator. B value is the name of the actuator or sensor. The C value is set to either use or unused, the D value is set to a logical operator, the E value is set to a comparison operator, and the F value is the actuator operation amount or sensor. 8. The automatic program generation device according to claim 7, wherein a value is set.
調駆動用のものである場合、所定の評価関数は、制御プ
ログラムにより設定される車室内の目標温度と、当該制
御プログラムにより前記自動車用空調装置の動作が制御
された場合における車室内推定温度との偏差が小さくな
るに従い高い適応度となるように設定されたものである
ことを特徴とする請求項8記載のプログラム自動生成装
置。9. When the control program is for driving an air conditioner for an air conditioner for an automobile, the predetermined evaluation function is a target temperature in a vehicle compartment set by the control program, and the air conditioner for the automobile based on the control program. 9. The automatic program generation device according to claim 8, wherein the fitness is set so as to be higher as the deviation from the estimated temperature in the vehicle compartment when the operation is controlled becomes smaller.
ョンするシュミレーション手段が設けられ、 評価関数は、適応度={Σ(Ttarget−Tcab)2/
2)}−1と表されてなり、 前記Ttargetは、制御プログラムにより設定される車室
内の目標温度であり、前記Tcabは、Tcab=(Thead+
Tfoot)/2として求められる前記車室内の室内代表温
度であり、Theadは、前記車室内の頭部付近温度であ
り、前記Tfootは、前記車室内の脚部付近温度であり、 前記適応度を求める式において、前記目標温度と前記室
内代表温度との偏差の総和の部分は、所定時間の間、所
定時間間隔で求められた前記目標温度と前記室内代表温
度との偏差の総和であり、 前記室内代表温度を求めるための前記頭部付近温度及び
前記脚部付近温度は、評価の対象である染色体をデコー
ドして得られた制御プログラムの実行を、前記シュミレ
ーション手段により所定時間の間シュミレーションする
ことにより、所定時間間隔で得られる推定温度とし、 前記シュミレーション手段は、第1及び第2のニューラ
ルネットワークを有してなり、前記制御プログラムを前
記第1及び第2のニューラルネットワークに適用するこ
とでシュミレーションを行うものであって、 前記第1及び第2のニューラルネットワークは、いずれ
も、自動車用空調装置におけるブロア回転速度、エバポ
レータ温度、ミックスドア開度、ヒータコア温度、室内
代表温度及び外気温度を入力データとし、 前記第1のニューラルネットワークは、エバポレータ温
度の推定値及びヒータコア温度の推定値を出力し、前記
第2のニューラルネットワークは、頭部付近温度の推定
値及び脚部付近温度の推定値を出力するもので、 前記エバポレータ温度の推定値及び前記ヒータコア温度
の推定値は、第1及び第2のニューラルネットワークの
入力データとして入力へ帰還され、前記頭部付近温度の
推定値及び前記脚部付近温度の推定値の平均値は、室内
代表温度として第1及び第2のニューラルネットワーク
の入力へ帰還されることを特徴とする請求項9記載のプ
ログラム自動生成装置。10. A simulation means for simulating execution of a control program is provided, and the evaluation function is: fitness = {Σ (T target −T cab ) 2 /
2)} −1 , wherein T target is a target temperature in the passenger compartment set by the control program, and T cab is T cab = (T head +
T foot) a room representative temperature of the vehicle interior required as / 2, T head is a head near the temperature of the vehicle interior, wherein the T foot is legs near the temperature of the vehicle interior, wherein In the equation for calculating the fitness, the part of the sum of the deviation between the target temperature and the indoor representative temperature is a sum of the deviation between the target temperature and the indoor representative temperature obtained at predetermined time intervals during a predetermined time. The head vicinity temperature and the leg vicinity temperature for obtaining the room representative temperature are executed for a predetermined time by the simulation means by executing a control program obtained by decoding a chromosome to be evaluated. The simulation means obtains an estimated temperature obtained at a predetermined time interval, and the simulation means has first and second neural networks, and the control program Is applied to the first and second neural networks to perform a simulation. Each of the first and second neural networks includes a blower rotation speed, an evaporator temperature, and a mix in a vehicle air conditioner. A door opening, a heater core temperature, a room representative temperature, and an outside air temperature as input data, the first neural network outputs an evaporator temperature estimated value and a heater core temperature estimated value, and the second neural network outputs The estimated value of the temperature near the head and the estimated value of the temperature near the leg are output. The estimated value of the evaporator temperature and the estimated value of the heater core temperature are returned to the input as input data of the first and second neural networks. Of the estimated value of the temperature near the head and the estimated value of the temperature near the legs. Value, automatic program generating apparatus according to claim 9, wherein the fed back to the input of the first and second neural networks as an indoor representative temperature.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000291884A JP2002099890A (en) | 2000-09-26 | 2000-09-26 | Automatic program generation method and automatic program generation device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000291884A JP2002099890A (en) | 2000-09-26 | 2000-09-26 | Automatic program generation method and automatic program generation device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002099890A true JP2002099890A (en) | 2002-04-05 |
Family
ID=18774905
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000291884A Pending JP2002099890A (en) | 2000-09-26 | 2000-09-26 | Automatic program generation method and automatic program generation device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2002099890A (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7276361B2 (en) | 2001-12-10 | 2007-10-02 | Riken | Method for producing biodegradable polyester |
| CN102323906A (en) * | 2011-09-08 | 2012-01-18 | 哈尔滨工程大学 | A method for automatic generation of MC/DC test data based on genetic algorithm |
| KR101448775B1 (en) * | 2013-09-06 | 2014-10-08 | 현대자동차 주식회사 | Air conditioner panel semiconductor device and vehicle air conditioner system having the same |
| JP2015142934A (en) * | 2014-01-31 | 2015-08-06 | Jfeスチール株式会社 | Slab organization method including profiled steel sheet and slab organization device |
| JP2017010475A (en) * | 2015-06-26 | 2017-01-12 | 富士通株式会社 | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, AND GENERATION PROGRAM |
-
2000
- 2000-09-26 JP JP2000291884A patent/JP2002099890A/en active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7276361B2 (en) | 2001-12-10 | 2007-10-02 | Riken | Method for producing biodegradable polyester |
| CN102323906A (en) * | 2011-09-08 | 2012-01-18 | 哈尔滨工程大学 | A method for automatic generation of MC/DC test data based on genetic algorithm |
| CN102323906B (en) * | 2011-09-08 | 2014-01-08 | 哈尔滨工程大学 | A method for automatic generation of MC/DC test data based on genetic algorithm |
| KR101448775B1 (en) * | 2013-09-06 | 2014-10-08 | 현대자동차 주식회사 | Air conditioner panel semiconductor device and vehicle air conditioner system having the same |
| JP2015142934A (en) * | 2014-01-31 | 2015-08-06 | Jfeスチール株式会社 | Slab organization method including profiled steel sheet and slab organization device |
| JP2017010475A (en) * | 2015-06-26 | 2017-01-12 | 富士通株式会社 | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, AND GENERATION PROGRAM |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Brusey et al. | Reinforcement learning-based thermal comfort control for vehicle cabins | |
| US6698663B2 (en) | Model-based method of generating control algorithms for an automatic climate control system | |
| US20190017720A1 (en) | Air-conditioning operation condition generation apparatus, air-conditioning operation condition generation method and air-conditioning system | |
| JPH0834222A (en) | Air conditioning control method for vehicle | |
| US5727131A (en) | Neural network learning device | |
| JP2002099890A (en) | Automatic program generation method and automatic program generation device | |
| JPH02162116A (en) | Air-conditioner for automobile | |
| KR20220141086A (en) | AI air conditioner control system and method using a interpolation | |
| JP2000348214A (en) | Method and device for supporting product development and recording medium | |
| JP2002264627A (en) | Air conditioning control method for vehicle air conditioner and vehicle air conditioner | |
| JP3237157B2 (en) | Air conditioning controller for vehicles | |
| JP2003140708A (en) | Teacher data preparing method for learning-controlled air conditioner | |
| JPH0732853A (en) | Air conditioner for automobile | |
| JP2002373181A (en) | Thermal environment simulation device | |
| JP3435714B2 (en) | Neural network type additional learning device | |
| JP3951965B2 (en) | Air conditioning control device and air conditioning device | |
| JPH0652265A (en) | Design evaluating device | |
| JPH0939543A (en) | Vehicle air conditioning controller | |
| JPH07334070A (en) | Process simulator | |
| JP3430683B2 (en) | Vehicle air conditioning controller | |
| JP2605171Y2 (en) | Automotive air conditioners | |
| JP3141469B2 (en) | Fuzzy control method | |
| JPH0214911A (en) | Controller for car air conditioner | |
| JPH10147126A (en) | Method for conditioning control in vehicular air conditioner and vehicular air conditioner | |
| JP2006088760A (en) | Air conditioner for vehicle |