Applying integer programming to AI planning

合集下载

电力需求侧空调负荷柔性调控策略研究

电力需求侧空调负荷柔性调控策略研究

调节电

调电
机正常
率。

以实际负
预 考 的 为给定量作为输入。通过
的调 控制,使
果尽可能与参考预期负荷
近,
调 的柔性控制。研究 ,在
调的无
电机控制系统中,加入微分
易使系统
干扰的 口5 一⑹,故

、电 gTd,PI)控制。
比例-积分(Proportional - Inte-
2.2空调电机传递函数的建立
时控制设计方式, “ 控制-分层控制-现地
控制”的多级控制模式,如图1所示。这种控制方式使
得需求侧的空调 群更加灵
与电网管 需
求响应,除 调 的控制 应以外,方便 将来与
他柔 联
、水、气、热等多种
式接入,为
耗综合监
了平台(13)。
图1多级调控制模式架构 Fifure 1. Multi - level tone conWol mode architecture
Research on Flexible Load Control Strategy of Air Conditioning in Power Demand Side
WANG Fuzhony1 , LI Runyu1 , ZHANG Hongwei2 , GUO Jiangzhen1 , ZHANG Li1
系统 的 调 无
电 机控制 的, 主
要 子、定子、 绕组 尔传感器组成(17)。无
电机

法, 电机的电 平
http://Journal. xidian. edu.匸*
59
农a巧就
Electronic Science and Technology
衡方程可描述为

人工智能的数学基础 英文

人工智能的数学基础 英文

人工智能的数学基础英文The Mathematical Foundations of Artificial Intelligence Artificial Intelligence (AI) is the field of computer science that aims to create intelligent machines that can learn and solve problems like humans. The mathematical foundations of AI are key to understanding and developing the algorithms and models that power this technology. Here wewill take a closer look at the math behind AI.1. Linear AlgebraLinear Algebra is an essential part of building algorithms that can learn from data. Most of the data in AI is represented as vectors and matrices. Linear algebra helps us to manipulate and transform these vectors and matrices in efficient ways. The concepts of vectors, matrices, and linear transformations are fundamental to understanding thestructure of the data and the models used in AI.2. CalculusCalculus is the study of how things change. It is used in AI to optimize the parameters of models to minimize the error in predictions. The gradient of a function gives us the direction of greatest increase, which is used to update the parameters in the optimization process. Calculus is particularly important in deep learning algorithms, which use neural networks with many layers of interconnected nodes to process data.3. Probability and StatisticsProbability and Statistics are essential for building probabilistic models in AI. These models are used to makepredictions based on uncertain or incomplete data.Probability theory gives us the tools to calculate the likelihood of different outcomes, while statistical inference lets us draw conclusions about a population based on a sample of data. Many machine learning algorithms such as naïve Bayes, decision trees, and random forests are based on probabilistic models.4. Graph TheoryGraph Theory is used to represent and analyze the relationships between objects in AI. Graphs are used to model the structure of data, such as social networks or the connections between web pages. Graph algorithms are used in search algorithms, clustering, and recommendation systems.ConclusionIn conclusion, these are some of the main mathematical foundations of artificial intelligence. Linear algebra, calculus, probability, statistics, and graph theory providethe tools to build algorithms that can learn from data, optimize models, make predictions, and represent and analyze the relationships between objects. As AI continues to develop and impact our daily lives, a solid understanding of these mathematical concepts is essential for anyone interested inthis field.。

汽车电子毕设设计外文文献翻译(适用于毕业论文外文翻译+中英文对照)

汽车电子毕设设计外文文献翻译(适用于毕业论文外文翻译+中英文对照)

Ultrasonic ranging system designPublication title: Sensor Review. Bradford: 1993.Vol.ABSTRACT: Ultrasonic ranging technology has wide using worth in many fields, such as the industrial locale, vehicle navigation and sonar engineering. Now it has been used in level measurement, self-guided autonomous vehicles, fieldwork robots automotive navigation, air and underwater target detection, identification, location and so on. So there is an important practicing meaning to learn the ranging theory and ways deeply. To improve the precision of the ultrasonic ranging system in hand, satisfy the request of the engineering personnel for the ranging precision, the bound and the usage, a portable ultrasonic ranging system based on the single chip processor was developed.Keywords: Ultrasound, Ranging System, Single Chip Processor1. IntroductiveWith the development of science and technology, the improvement of people’s standard of living, speeding up the development and construction of the city. Urban drainage system have greatly developed their situation is construction improving. However, due to historical reasons many unpredictable factors in the synthesis of her time, the city drainage system. In particular drainage system often lags behind urban construction. Therefore, there are often good building excavation has been building facilities to upgrade the drainage system phenomenon. It brought to the city sewage, and it is clear to the city sewage and drainage culvert in the sewage treatment system.Co mfort is very important to people’s lives. Mobile robots designed to clear the drainage culvert and the automatic control system Free sewage culvert clear guarantee robots, the robot is designed to clear the culvert sewage to the core. Control system is the core component of the development of ultrasonic range finder. Therefore, it is very important to design a good ultrasonic range finder.2. A principle of ultrasonic distance measurementThe application of AT89C51:SCM is a major piece of computer components are integrated into the chip micro-computer. It is a multi-interface and counting on the micro-controller integration, and intelligence products are widely used in industrial automation. and MCS-51 microcontroller is a typical and representative.Microcontrollers are used in a multitude of commercial applications such as modems, motor-control systems, air conditioner control systems, automotive engine and among others. The high processing speed and enhanced peripheral set of these microcontrollers make them suitable for such high-speed event-based applications. However, these critical application domains also require that these microcontrollers are highly reliable. The high reliability and low market risks can be ensured by a robust testing process and a proper tools environment for the validation of these microcontrollers both at the component and at the system level. Intel Plaform Engineering department developed an object-oriented multi-threaded test environment for the validation of its AT89C51 automotive microcontrollers. The goals of this environment was not only to provide a robust testing environment for the AT89C51 automotive microcontrollers, but to develop an environment which can be easily extended and reused for the validation of several other future microcontrollers. The environment was developed in conjunction with Microsoft Foundation Classes(AT89C51).1.1 Features* Compatible with MCS-51 Products* 2Kbytes of Reprogrammable Flash MemoryEndurance: 1,000Write/Erase Cycles* 2.7V to 6V Operating Range* Fully Static operation: 0Hz to 24MHz* Two-level program memory lock* 128x8-bit internal RAM* 15programmable I/O lines* Two 16-bit timer/counters* Six interrupt sources*Programmable serial UART channel* Direct LED drive output* On-chip analog comparator* Low power idle and power down modes1.2 DescriptionThe AT89C2051 is a low-voltage, high-performance CMOS 8-bit microcomputer with 2Kbytes of flash programmable and erasable read only memory (PEROM). The device is manufactured using Atmel’s high density nonvolatile memory technology and is compatible with the industry standard MCS-51 instruction set and pinout. By combining a versatile 8-bit CPU with flash on a monolithic chip, the Atmel AT89C2051 is a powerful microcomputer which provides a highly flexible and cost effective solution to many embedded control applications.The AT89C2051 provides the following standard features: 2Kbytes of flash,128bytes of RAM, 15 I/O lines, two 16-bit timer/counters, a five vector two-level interrupt architecture, a full duplex serial port, a precision analog comparator, on-chip oscillator and clock circuitry. In addition, the AT89C2051 is designed with static logicfor operation down to zero frequency and supports two software selectable power saving modes. The idle mode stops the CPU while allowing the RAM, timer/counters, serial port and interrupt system to continue functioning. The power down mode saves the RAM contents but freezer the oscillator disabling all other chip functions until the next hardware reset.1.3 Pin Configuration1.4 Pin DescriptionVCC Supply voltage.GND Ground.Prot 1Prot 1 is an 8-bit bidirectional I/O port. Port pins P1.2 to P1.7 provide internal pullups. P1.0 and P1.1 require external pullups. P1.0 and P1.1 also serve as the positive input (AIN0) and the negative input (AIN1), respectively, of the on-chip precision analog comparator. The port 1 output buffers can sink 20mA and can drive LED displays directly. When 1s are written to port 1 pins, they can be used as inputs. When pins P1.2 to P1.7 are used as input and are externally pulled low, they will source current (IIL) because of the internal pullups.Port 3Port 3 pins P3.0 to P3.5, P3.7 are seven bidirectional I/O pins with internal pullups. P3.6 is hard-wired as an input to the output of the on-chip comparator and is not accessible as a general purpose I/O pin. The port 3 output buffers can sink 20mA. When 1s are written to port 3 pins they are pulled high by the internal pullups and can be used as inputs. As inputs, port 3 pins that are externally being pulled low will source current (IIL) because of the pullups.Port 3 also serves the functions of various special features of the AT89C2051 as listed below.1.5 Programming the FlashThe AT89C2051 is shipped with the 2 Kbytes of on-chip PEROM code memory array in the erased state (i.e., contents=FFH) and ready to be programmed. The code memory array is programmed one byte at a time. Once the array is programmed, to re-program any non-blank byte, the entire memory array needs to be erased electrically.Internal address counter: the AT89C2051 contains an internal PEROM address counter which is always reset to 000H on the rising edge of RST and is advanced applying a positive going pulse to pin XTAL1.Programming algorithm: to program the AT89C2051, the following sequence is recommended.1. power-up sequence:Apply power between VCC and GND pins Set RST and XTAL1 to GNDWith all other pins floating , wait for greater than 10 milliseconds2. Set pin RST to ‘H’ set pin P3.2 to ‘H’3. Apply the appropriate combination of ‘H’ or ‘L’ logic to pins P3.3, P3.4, P3.5,P3.7 to select one of the programming operations shown in the PEROM programming modes table.To program and Verify the Array:4. Apply data for code byte at location 000H to P1.0 to P1.7.5.Raise RST to 12V to enable programming.5. Pulse P3.2 once to program a byte in the PEROM array or the lock bits. The byte-write cycle is self-timed and typically takes 1.2ms.6. To verify the programmed data, lower RST from 12V to logic ‘H’ level and set pins P3.3 to P3.7 to the appropriate levels. Output data can be read at the port P1 pins.7. To program a byte at the next address location, pulse XTAL1 pin once to advance the internal address counter. Apply new data to the port P1 pins.8. Repeat steps 5 through 8, changing data and advancing the address counter for the entire 2 Kbytes array or until the end of the object file is reached.9. Power-off sequence: set XTAL1 to ‘L’ set RST to ‘L’Float all other I/O pins Turn VCC power off2.1 The principle of piezoelectric ultrasonic generatorPiezoelectric ultrasonic generator is the use of piezoelectric crystal resonators to work. Ultrasonic generator, the internal structure as shown, it has two piezoelectric chip and a resonance plate. When it’s two plus pulse signal, the frequency equal to the intrinsic piezoelectric oscillation frequency chip, the chip will happen piezoelectric resonance, and promote the development of plate vibration resonance, ultrasound is generated. Conversely, it will be for vibration suppression of piezoelectric chip, the mechanical energy is converted to electrical signals, then it becomes the ultrasonic receiver.The traditional way to determine the moment of the echo’s arrival is based on thresholding the received signal with a fixed reference. The threshold is chosen well above the noise level, whereas the moment of arrival of an echo is defined as the first moment the echo signal surpasses that threshold. The intensity of an echo reflecting from an object strongly depends on the object’s nature, size and distance from the sensor. Further, the time interval from the echo’s starting point to the moment when it surpasses the threshold changes with the intensity of the echo. As a consequence, a considerable error may occur even two echoes with different intensities arriving exactly at the same time will surpass the threshold at different moments. The stronger one will surpass the threshold earlier than the weaker, so it will be considered as belonging to a nearer object.2.2 The principle of ultrasonic distance measurementUltrasonic transmitter in a direction to launch ultrasound, in the moment to launch the beginning of time at the same time, the spread of ultrasound in the air, obstacles on his way to return immediately, the ultrasonic reflected wave received by the receiverimmediately stop the clock. Ultrasound in the air as the propagation velocity of 340m/s, according to the timer records the time t, we can calculate the distance between the launch distance barrier(s), that is: s=340t / 23. Ultrasonic Ranging System for the Second Circuit DesignSystem is characterized by single-chip microcomputer to control the use of ultrasonic transmitter and ultrasonic receiver since the launch from time to time, single-chip selection of 875, economic-to-use, and the chip has 4K of ROM, to facilitate programming.3.1 40 kHz ultrasonic pulse generated with the launchRanging system using the ultrasonic sensor of piezoelectric ceramic sensorsUCM40, its operating voltage of the pulse signal is 40kHz, which by the single-chip implementation of the following procedures to generate.puzel: mov 14h, # 12h; ultrasonic firing continued 200msHere: cpl p1.0; output 40kHz square wavenop;nop;nop;djnz 14h, here;retRanging in front of single-chip termination circuit P1.0 input port, single chip implementation of the above procedure, the P1.0 port in a 40kHz pulse output signal, after amplification transistor T, the drive to launch the first ultrasonic UCM40T, issued 40kHz ultrasonic pulse, and the continued launch of 200ms. Ranging the right and the left side of the circuit, respectively, then input port P1.1 and P1.2, the working principle and circuit in front of the same location.3.2 Reception and processing of ultrasonicUsed to receive the first launch of the first pair UCM40R, the ultrasonic pulse modulation signal into an alternating voltage, the op-amp amplification IC1A and after polarization IC1B to IC2. IC2 is locked loop with audio decoder chip LM567, internal voltage-controlled oscillator center frequency of f0=1/1.1R8C3, capacitor C4 determinetheir target bandwidth. R8-conditioning in the launch of the high jump 8 feet into a low-level, as interrupt request signals to the single-chip processing.Ranging in front of single-chip termination circuit output port INT0 interrupt the highest priority, right or left location of the output circuit with output gate IC3A access INT1 port single-chip, while single-chip P1.3 and P1.4 received input IC3A, interrupted by the process to identify the source of inquiry to deal with, interrupt priority level for the first left right after. Part of the source code is as follows:Receivel: push pswpush accclr ex1; related external interrupt 1jnb p1.1, right; P1.1 pin to 0, ranging from right to interrupt service routine circuitjnb p1.2, left; P1.2 pin to 0, to the left ranging circuit interrupt service routinereturn: SETB EX1; open external interrupt 1pop accpop pswretiright: …; right location entrance circuit interrupt service routineAjmp Returnleft: …; left ranging entrance circuit interrupt service routineAjmp Return3.3 The calculation of ultrasonic propagation timeWhen you start firing at the same time start the single-chip circuitry within the timer T0, the use of timer counting function records the time and the launch of ultrasonic reflected wave received time. When you receive the ultrasonic reflected wave, the receiver circuit output a negative jump in the end of INT0 or INT1 interrupt request generates a signal, single-chip microcomputer in response to external interrupt request, the implementation of the external interrupt service subroutine, read the time difference, calculating the distance. Some of its source code is as follows:RECEIVE0: PUSH PSWPUSH ACCCLR EX0; related external interrupt 0MOV R7, TH0; read the time valueMOV R6, TL0CLR CMOV A, R6SUBB A, #0BBH; calculate the time differenceMOV 31H, A; storage resultsMOV A, R7SUBB A, # 3CHMOV 30H, ASETB EX0; open external interrupt 0\POP ACCPOP PSWRETIFor a flat target, a distance measurement consists of two phases: a coarse measurement and a fine measurement:Step 1: Transmission of one pulse train to produce a simple ultrasonic wave.Step 2: Changing the gain of both echo amplifiers according to equation, until the echo is detected.Step 3: Detection of the amplitudes and zero-crossing times of both echoes.Step 4: Setting the gains of both echo amplifiers to normalize the output at, say 3 volts. Setting the period of the next pulses according to the: period of echoes. Setting the time window according to the data of step 2.Step 5: Sending two pulse trains to produce an interfered wave. Testing the zero-crossing times and amplitudes of the echoes. If phase inversion occurs in the echo, determine to otherwise calculate to by interpolation using the amplitudes near the trough. Derive t sub m1 and t sub m2.Step 6: Calculation of the distance y using equation.4、The ultrasonic ranging system software designSoftware is divided into two parts, the main program and interrupt service routine. Completion of the work of the main program is initialized, each sequence of ultrasonic transmitting and receiving control.Interrupt service routines from time to time to complete three of the rotation direction of ultrasonic launch, the main external interrupt service subroutine to read the value of completion time, distance calculation, the results of the output and so on.5、ConclusionsRequired measuring range of 30cm-200cm objects inside the plane to do a number of measurements found that the maximum error is 0.5cm, and good reproducibility. Single-chip design can be seen on the ultrasonic ranging system has a hardware structure is simple, reliable, small features such as measurement error. Therefore, it can be used not only for mobile robot can be used in other detection system.Thoughts: As for why the receiver do not have the transistor amplifier circuit, because the magnification well, integrated amplifier, but also with automatic gain control level, magnification to 76dB, the center frequency is 38k to 40k, is exactly resonant ultrasonic sensors frequency.6、Parking sensor6.1 Parking sensor introductionReversing radar, full name is "reversing the anti-collision radar, also known as" parking assist device, car parking or reversing the safety of assistive devices, ultrasonic sensors(commonly known as probes), controls and displays (or buzzer)and other components. To inform the driver around the obstacle to the sound or a moreintuitive display to lift the driver parking, reversing and start the vehicle around tovisit the distress caused by, and to help the driver to remove the vision deadends and blurred vision defects and improve driving safety.6.2 Reversing radar detection principleReversing radar, according to high-speed flight of the bats in thenight, not collided with any obstacle principles of design anddevelopment. Probe mounted on the rear bumper, according to different price and brand, the probe only ranging from two, three, four, six, eight,respectively, pipe around. The probe radiation, 45-degree angle up and downabout the search target. The greatest advantage is to explore lower than the bumper of the driver from the rear window is difficult to see obstacles, and the police, suchas flower beds, children playing in the squatting on the car.Display parking sensor installed in the rear view mirror, it constantlyremind drivers to car distance behindthe object distance to the dangerous distance, the buzzer starts singing, allow the driver to stop. When the gear lever linked into reverse gear, reversing radar, auto-start the work, the working range of 0.3 to 2.0 meters, so stop when the driver was very practical. Reversing radar is equivalent to an ultrasound probe for ultrasonic probe can be divided into two categories: First, Electrical, ultrasonic, the second is to use mechanical means to produce ultrasound, in view of the more commonly used piezoelectric ultrasonic generator, it has two power chips and a soundingboard, plus apulse signal when the poles, its frequency equal to the intrinsic oscillation frequency of the piezoelectric pressure chip will be resonant and drivenby the vibration of the sounding board, the mechanical energy into electrical signal, which became the ultrasonic probe works. In order to better study Ultrasonic and use up, people have to design and manufacture of ultrasonic sound, the ultrasonic probe tobe used in the use of car parking sensor. With this principle in a non-contactdetection technology for distance measurement is simple, convenient and rapid, easyto do real-time control, distance accuracy of practical industrial requirements. Parking sensor for ranging send out ultrasonic signal at a givenmoment, and shot in the face of the measured object back to the signal wave, reversing radar receiver to use statistics in the ultrasonic signal from the transmitter to receive echo signals calculate the propagation velocity in the medium, which can calculate the distance of the probe and to detect objects.6.3 Reversing radar functionality and performanceParking sensor can be divided into the LCD distance display, audible alarm, and azimuth directions, voice prompts, automatic probe detection function is complete, reversing radar distance, audible alarm, position-indicating function. A good performance reversing radar, its main properties include: (1) sensitivity, whether theresponse fast enough when there is an obstacle. (2) the existence of blind spots. (3) detection distance range.6.4 Each part of the roleReversing radar has the following effects: (1) ultrasonic sensor: used tolaunch and receive ultrasonic signals, ultrasonic sensors canmeasure distance. (2) host: after the launch of the sine wave pulse to the ultrasonic sensors, and process the received signal, to calculate the distance value, the data and monitor communication. (3) display or abuzzer: the receivinghost from the data, and display the distance value and provide differentlevels according to the distance from the alarm sound.6.5 Cautions1, the installation height: general ground: car before the installation of 45 ~55: 50 ~ 65cmcar after installation. 2, regular cleaningof the probe to prevent the fill. 3, do not use the hardstuff the probe surface cover will produce false positives or ranging allowed toprobe surface coverage, such as mud. 4, winter to avoid freezing. 5, 6 / 8 probe reversing radar before and after the probe is not free to swap may cause the ChangMing false positive problem. 6, note that the probe mounting orientation, in accordance with UP installation upward. 7, the probe is not recommended to install sheetmetal, sheet metal vibration will cause the probe resonance, resulting in false positives.超声测距系统设计原文出处:传感器文摘布拉福德:1993年超声测距技术在工业现场、车辆导航、水声工程等领域具有广泛的应用价值,目前已应用于物位测量、机器人自动导航以及空气中与水下的目标探测、识别、定位等场合。

人工智能算法Python语言版PPT第2章分治法

人工智能算法Python语言版PPT第2章分治法

(3) 将结果从C中填回原列表
indexC←1 for i←finalStart to finalEnd do list[i]←result[indexC] indexC←indexC+1 end for
无需比较操作!
合并排序 (8)
MergeLists的最优情况
MergeSort算法的执行时间
- 列表A中所有元素都不大于B中最小 - nA 次比较 (n/2) - 例如:A={1, 2, 3}, B={4, 5 ,6}
T
(n)
O(1) 2T (n
/
2)
O(n)
n 1 n 1
O(n log n)
MergeLists的最坏情况
- 列表A列表 B中元素交叉排列时
- 每执行一次比较操作,将A或B中的 一个元素移到列表C中
应用背景和动机 (1)
对将这k要个求子解问的题较分别大求规解模的问题分割成k个更小规模的子问题。
- 如果子问题的规模仍然不够小,再划分为k个子问题
- 如此递归地进行下去,直到问题规模足够小,很容易求出其解为止
=
n
T(n)
T(n/2)
T(n/2)
T(n/2)
T(n/2)
应用背景和动机 (2)
对这k个子问题分别求解,其中分解直到问题规模足够小,很容易求 出其解为止
提纲
应用背景和动机 分治法的基本思想和一般步骤 分治法的适用条件 分治法的复杂度分析方法 合并排序 总结
合并排序 (1)
引例:合并两个有序子列表
{179, 285, 351}, {310, 312, 652, 800}
(1) 179<310: {179} (2) 285<310: {179, 285} (3) 351>310: {179, 285, 310} {179, 285, 351}, {310, 312, 652, 800}

Integer Nonlinear Programming (MINLP) problems

Integer Nonlinear Programming (MINLP) problems
The next section presents the reformulation of P as an MILP master program. Based on this reformulation two algorithms are presented in the following sections which solve a nite sequence of NLP subproblems and MILP or MIQP master problems, respectively. The nal section shows how the re{solution of these master problems can be avoided by updating their branch and bound trees.
Then P can be expressed as a projection on to the integer variables.
ymj2inV ?v(yj) :
In this projection the set V replaces Y in (1).
The equivalent MILP problem is now given by
master program relaxations that are solved in
the Outer Approximation Algorithms.
When all y 2 Y are feasible.
In this subsection the simplifying assumption
is made that all y 2 Y are feasible. The rst step

整数线性规划(ILP)

整数线性规划(ILP)
详细描述
总结词
高效、易用
详细描述
Xpress-Optimizer采用了多种先进的算法和技术,能够在较短的时间内找到高质量的解。它还提供了友好的用户界面和易用的API接口,方便用户进行模型构建和求解。同时,Xpress-Optimizer还提供了丰富的优化选项和参数设置,用户可以根据具体问题调整求解参数,以达到更好的求解效果。
整数线性规划简介
整数线性规划简介
坠 the said旋 to高兴9旋判定--
indeed.资深:褂资深1 .资深.这点 child菖点头道 indeed逮捕 all点头道 Santa荸褂 嗥...望着 one款igny rewal受不了 an all这点 st one这点 st!.said the. ch ... . then按键 Crawish stor"央
目标函数
资源限制
约束条件可以包括资源限制,如劳动力、原材料、时间等。
数量限制
约束条件可以包括数量限制,如产品数量、订单数量等。
范围限制
约束条件可以包括范围限制,如温度、压力、时间范围等。
其他限制
约束条件还可以包括一些特定的限制条件,如逻辑关系、顺序关系等。
约束条件
连续变量
整数线性规划中的决策变量可以是连续变量,也可以是离散变量。
Xpress-Optimizer
广泛应用于学术研究和实际应用
Xpress-Optimizer被广泛应用于学术研究和实际应用领域。由于其开源和跨平台的特性,Xpress-Optimizer吸引了大量的用户和开发者社区。它不仅被用于解决各种复杂的优化问题,还被用于研究和开发新的优化算法和技术。Xpress-Optimizer已经成为整数线性规划领域的重要工具之一。

integer programming 教材

integer programming教材【释义】integer programming整数规划:一种数学优化或可行性问题,其中一些或全部变量被限制为整数。

【短语】1Mixed Integer Programming数混合整数规划;混合整数编程;混合整数规划问题;规划方法2zero-one integer programming数零一整数规划3integer programming algorithm整数规划算法;翻译4Pure Integer Programming纯整数规划;规划问题5All Integer Programming整数规划60-1integer programming整数规划;规划7Mixed integer programming model混合整数规划模型;规划模式8integer programming problem整数规划问题【例句】1Scheduling;Open shop;Mixed integer programming.排程;开放型工厂;混整数规划。

2The scheduling is formalized as a integer programming problem.该描述将调度问题形式化为整数规划问题。

3It is to understand the basis for other integer programming problem.它是理解其它整数规划问题的基础。

4The problem of bounded nonlinear mixed integer programming is studied.对一有界约束非线性混合整数规划问题进行了研究。

5The number of the most optimal solutions of this integer programming is determined.给出了一类整数规划问题有唯一最优解的充要条件。

ArcPy帮助文档

ArcPy帮助文档1.什么是ArcPy (5)2.ArcPy 基本词汇 (6)3.ArcPy 快速浏览 (6)4.ArcPy 函数列表(按字母顺序) (9)AcceptConnections (14)AddDataStoreItem (15)AddError (18)AddFieldDelimiters (19)AddIDMessage (19)AddMessage (21)AddReturnMessage (21)AddToolbox (22)AddWarning (24)AlterAliasName (25)AsShape (25)CheckExtension (28)CheckOutExtension (30)CheckProduct (31)ClearEnvironment (32)Command (33)CopyParameter (34)CreateObject (34)CreateGeocodeSDDraft (36)CreateGPSDDraft (40)CreateImageSDDraft (46)CreateRandomValueGenerator (49)CreateScratchName (50)CreateUniqueName (52)DecryptPYT (53)Describe (53)DisconnectUser (56)EncryptPYT (58)Exists (58)FromWKB (59)FromWKT (60)GetActivePortalURL (60)GetArgumentCount (61)GetIDMessage (62)GetInstallInfo (63)GetLogHistory (64)GetMaxSeverity (65)GetMessage (66)GetMessageCount (67)GetMessages (67)GetPackageInfo (68)GetParameter (69)GetParameterAsText (70)GetParameterCount (71)GetParameterInfo (71)GetParameterValue (73)GetReturnCode (73)GetSeverity (74)GetSeverityLevel (75)GetSigninToken (75)GetSystemEnvironment (76)GetUTMFromLocation (77)ImportToolbox (77)InsertCursor (78)IsSynchronous (79)ListDatasets (80)ListDataStoreItems (82)ListEnvironments (83)ListFeatureClasses (84)ListFields (86)ListIndexes (87)ListInstallations (88)ListPortalURLs (89)ListPrinterNames (89)ListRasters (90)ListSpatialReferences (91)ListTables (92)ListToolboxes (93)ListTools (94)ListTransformations (95)ListUsers (96)ListVersions (97)ListWorkspaces (98)LoadSettings (99)NumPyArrayToRaster (100)ParseFieldName (104)ParseTableName (105)RefreshActiveView (110)RefreshCatalog (111)RefreshTOC (111)RemoveDataStoreItem (112)RemoveToolbox (113)ResetEnvironments (113)ResetProgressor (114)SaveSettings (115)SearchCursor (116)SetLogHistory (117)SetParameter (118)SetParameterAsText (118)SetProduct (120)SetProgressor (121)SetProgressorLabel (122)SetProgressorPosition (123)SetSeverityLevel (124)TestSchemaLock (125)UpdateCursor (126)Usage (128)ValidateDataStoreItem (128)ValidateFieldName (129)ValidateTableName (131)5.ArcPy数据访问模块 (132)Domain (133)Editor (134)InsertCursor (138)Replica (140)SearchCursor (141)UpdateCursor (145)Version (149)ExtendTable (150)FeatureClassToNumPyArray (151)ListDomains (155)ListFieldConflictFilters (156)ListReplicas (156)ListSubtypes (157)ListVersions (158)NumPyArrayToFeatureClass (159)NumPyArrayToTable (160)TableToNumPyArray (162)Walk (164)6.arcpy.mapping模块 (167)<1>.按字母顺序排序的arcpy.mapping类列表 (167)DataDrivenPages (167)DataFrameTime (174)DataFrame (177)GraduatedColorsSymbology (180)GraduatedSymbolsSymbology (183)GraphicElement (186)LabelClass (192)Layer (193)LayerTime (207)LegendElement (211)MapDocument (216)MapsurroundElement (224)PDFDocument (225)PictureElement (232)RasterClassifiedSymbology (233)StyleItem (237)TableView (238)TextElement (242)UniqueValuesSymbology (245)<2>.按功能分类的arcpy.mapping函数列表 (247)一.导出、打印地图: (247)ExportReport (247)ExportToAI (252)ExportToBMP (254)ExportToEMF (256)ExportToEPS (258)ExportToGIF (261)ExportToJPEG (264)ExportToPDF (266)ExportToPNG (269)ExportToSVG (272)ExportToTIFF (274)ListPrinterNames (276)PrintMap (277)二. 管理文档和图层 (278)AddLayer (278)AddLayerToGroup (280)AddTableView (281)AnalyzeForMSD (282)AnalyzeForSD (282)ConvertToMSD (284)ConvertWebMapToMapDocument (285)CreateGISServerConnectionFile (296)CreateMapSDDraft (299)DeleteMapService (311)InsertLayer (313)Layer (315)ListBookmarks (315)ListBrokenDataSources (317)ListDataFrames (318)ListLayers (319)ListLayoutElements (321)ListMapServices (322)ListStyleItems (325)ListTableViews (326)MapDocument (327)MoveLayer (329)PDFDocumentCreate (330)PDFDocumentOpen (331)PublishMSDToServer (331)RemoveLayer (333)RemoveTableView (334)TableView (334)UpdateLayer (335)UpdateLayerTime (336)<3>.按字母顺序排序的arcpy.mapping 常量列表 (338)<4>.使用arcpy.mapping 更新和修复数据源 (344)work Analyst 模块 (350)8.Spatial Analyst 模块 (354)9.Time模块 (355)1.什么是ArcPyArcPy 是一个以成功的arcgisscripting 模块为基础并继承了arcgisscripting 功能进而构建而成的站点包。

英语选修三一线精练答案

英语选修三一线精练答案Unit 1Learning about language[1] 1.majority 2.hardship 3.racial 4.distinction5.italia6.korean7.pakistani8.denish[2] 1.federal 2.catholic 3. majority 4.minitry5.boom6.italy7. distinction8. hardships9.korea 10.elected[3] 1.arctic 2.strait 3.crossing 4.by mean of 5.rail.6.making a life7.aircraftUsing words and expressions[1] 1.a great many 2.applying for 3.nephew 4.ferry5.immigration6.apparentiy7.bakery8.occur9.thankful10.fascinating[2] 1.take in 2.reform 3.had marked out 4.team up with5.back to back6.applicants7.customs[3] 1. 当他到达旅馆的时候,第一件想做的事就是把行李放下,洗个澡,再刮一下胡子,然后出去走走。

(luggage,shave)When he arrived at the hotel, the first thing he wanted to do was to leave his luggage/baggage, have a shower and a shave, and then walk around.2. 我祖父是个社会主义者,终生信奉社会主义。

(socialist,socialism)My grandpa was a socialist who believe in socialism all his life.3. 许多非法移民觉得他们呆在美国是种惩罚,因为只有少数人得到了公正的待遇,被允许住在美国。

apply to用法总结

apply 用法总结apply/ə'plaɪ/v. 应用,使用;申请,请求;涂,敷;勤奋工作,努力学习;有关,涉及apply to(1)apply to sb/sth. 应用于某人/某物The rules of safe driving apply to everyone.安全驾驶规则应用于每个人。

This new technology was applied to farming.这项新技术已应用于农业。

(2)apply to sb./sth for sth.向某人/某物申请某物You must apply to the teacher for permission.你必须请求老师批准。

I’m applying to the Beijing University for the fellowship.我在向北京大学申请奖学金.(3)apply to do sth申请做某事。

He applied to stay there.他申请留在那儿。

(4)apply sth to...把某物运用在……上。

You can’t apply this rule to every case.你不能将这条规则运用到所有的情况。

A nurse is applying some medicine to his wound.有个护士正在给他的伤口敷药。

(5)apply oneself to(doing)sth致力于,专心于(做)某事In spite of much noise,he still applied himself to reading. 尽管有很多噪音,他仍然专心致志地读书。

[in spite of 尽管,虽然](6)apply to sb/sth. 涉及某人/某物What I am saying applies to some of you. 我所说的只涉及你们中的一些人。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Applying Integer Programming to AI Planning∗Thomas Vossen Michael Ball Robert H.Smith School of Business and Institute for Systems Research University of Maryland College Park,MD20742USA {tvossen,mball}@Amnon Lotem Dana Nau Department of Computer Science and Institute for Systems Research University of Maryland College Park,MD20742USA {lotem,nau}@AbstractDespite the historical difference in focus between AI planning techniques and Integer Programming (IP)techniques,recent research has shown that IP techniques show significant promise in their abilityto solve AI planning problems.This paper provides approaches to encode AI planning problems asIP problems,describes some of the more significant issues that arise in using IP for AI planning,anddiscusses promising directions for future research.1IntroductionAI planning is concerned with developing automated methods for generating and reasoning about sequences of actions to perform certain tasks or achieve certain goals.Planning problems are similar but in some sense more general than scheduling problems,which have received longstanding attention in the Operations Research community.What separates AI planning from scheduling is that solving a planning problem typically involves determining both what actions to do and when to do those actions.Scheduling problems on other hand typically involve“only”the order in which a prespecified set of actions should occur.This difference in scope however has also led to a different focus:solving planning problems in AI typically amounts to solving hard feasibility problems,whereas solving scheduling problems in OR usually amounts to solving hard optimization problems.Integer Programming(IP)has been used to address a variety of hard combinatorial optimization prob-lems,including certain classes of scheduling problems,such as crew andfleet scheduling.Despite the historical difference in focus between AI planning techniques and IP techniques,recent research has shown that IP techniques show significant promise in their ability to solve AI planning problems(e.g.[Kautz and Walser, 1999],[Bockmayr and Dimopoulos,1998]).Therefore,we feel that this is an important and fertile area for future research,on topics such as(1)how to choose and combine techniques from AI planning and IP optimization,in order to better solve AI planning problems,and(2)how to make use of IP’s ability to solve optimization problems with numerical constraints,in order to extend the scope of AI planning to include planning problems that involve numeric computations.While most real-world planners usually rely on domain-specific information and application-specific tech-niques that capture the structure of the problem at hand,the simplest version of the planning problem is completely domain-independent.It assumes that the environment is static and deterministic,and its formu-lation is given by three inputs:a description of the initial state of the world,a description of the goal state, and a description of the possible actions that can be performed and their effects on the state of the world.Most of the methods used to solve such problems are based on the so-called STRIPS representation, which is described in Section2.STRIPS[Fikes and Nilsson,1971]was an early AI planning system.Its plan representation technique provided a simple yet general format for specifying operators,and a clear ∗This work was supported in part by the following grants and contracts:Army Research Laboratory DAAL01-97-K0135, Naval Research Laboratory N00173981G007,Air Force Research Laboratory F306029910013,and NSF DMI-9713718.Knowledge Engineering Review, 2000, to appear.semantics for change over time.Thus,although the STRIPS planning algorithm itself is no longer used,its way representing planning problems and their solutions is used in most subsequent AI planning algorithms (the primary exception being Hierarchical Task Network(HTN)planning[Russell and Norvig,1995,pp. 371-380]).Even though the development of planners that are based on the STRIPS representation has received considerable attention for nearly three decades now,recent developments have had a significant impact on thefield.Two approaches in particular,the Graphplan system[Blum and Furst,1995]and the SATplan system[Kautz and Selman,1996]have been able to quickly solve planning problems that are orders of magnitude harder than what was considered the state of the art less than10years ago.The Graphplan system aims to exploit potential parallelism inherent in most plans.It is based on the notion of a“planning graph”which allows for a compact representation of the problem and for the efficient inference of many useful constraints inherent in the problem.In the SATplan approach,planning problems are converted into propositional formulae.The resulting satisfiability problem is then solved by a general systematic or stochastic SAT solver.It should be noted that both approaches are complimentary,as the planning graph representation can readily be expressed in terms of propositional clauses[Kautz and Selman,1996,1999].To a large extent,the success of the SATplan approach coincides with recent advances in the development of satisfiability solvers,which has resulted in powerful new general reasoning algorithms,that has been used not only for planning problems but also for many other difficult tasks(i.e.graph coloring,circuit verification). In spite of this general applicability,the propositional representations used in SAT solvers also have some inherent limitations.One problem is how to incorporate numeric constraints.For instance,converting a boolean linear inequality into a propositional representation may require an exponential number of clauses. An example of this is given by Hooker[1994](taken from[Barth,1993]),who reports that the boolean inequality300x1+300x2+285x3+265x4+265x5+230x6+230x7+190x8+200x9+400x10+200x11+400x12+200x13+400x14+200x15+400x16+200x30+400x31≤2700expands to117,520non-redundant logical propositions.Numerical constraints(such as capacity and dura-tional constraints)however do arise in many practical,real-world domains,and the ability to incorporate these constraints would therefore significantly enhance the power of domain-independent planners.In order to extend propositional representations of AI planning problems to incorporate numerical con-straints,it is therefore necessary tofind efficient ways to1.integrate numerical constraint representations with propositional representations for the AI planningproblem;2.integrate numerical constraint solving techniques with propositional reasoning methods for the AIplanning problem.Numerical constraints have received ample attention in thefield of Integer Programming.Thefield of Integer Programming has a long history in OR,and incorporates a declarative framework consisting of linear constraints and a linear objective function,together with powerful solution techniques based on the linear programming relaxation of the problem.The general problem of integrating logic-based methodologies and mathematical programming techniques has received considerable attention recently.Two notable approaches include the“Mixed Logical/Linear Programming”framework developed by Hooker and Osorio[1997],in which the structure of the constraints indicates how linear programming and propositional reasoning can interact to solve the problem,and the “Branch and Infer”framework by Bockmayr and Kasper[1998],which combines Integer and Constraint Logic Programming techniques.Another approach however might be incorporate both the numerical constraints and the propositional constraints into a single Integer Programming formulation.While this may appear outdated given the abovementioned attention to integrated frameworks,it should be noted that these frameworks are developed to enable theflexible and intuitive representations for large classes of problems that have significant numerical and logical components.For a specific problem class however,i.e.the AI planning problem,the formulationas an Integer Program may prove to be useful,in that it may lead to more efficient representations of the problem than would be obtained otherwise.The formulation of propositional representations as Integer Programs itself is rather straightforward:it is well known that propositional clauses can be converted into0-1inequalities(see for instance[Blair et al., 1986]or[Hooker,1988]).For example,the clausex1∨¬x2∨x3is equivalent to the0-1inequalityx1+(1−x2)+x3≥1;x1,x2,x3∈{0,1}.While this representation has been used to solve general satisfiability problems with Integer Programming methods,it should be noted that this has not been very successful in comparison with logic-based SAT solvers.For the specific problem class of AI planning problems however,this conversion of the propositional representation may not necessarily be the best one.Our research is primarily concerned with the development of“strong”Integer Programming formulations for the AI planning problem.Specifically,we use information about the problem structure that is specific to AI planning problems,so as to yield representations that are more efficient.It should be emphasized that the use of strong IP formulations is not limited to solving AI planning problems by Branch and Bound methods for Integer Programming alone.Strong IP formulations may also prove useful when using Integer Local Search methods([Walser,1998]or CLP methods for pseudo-boolean constraints([Barth,1995]).In addition,strong formulations may lead to much better lower bounds when used as an admissible heuristic in partial-order planning[Bylander,1997].In the remainder of this paper,we discuss the use of Integer Programming formulations in AI planning in greater detail.In the next section,we review the STRIPS representation for AI planning,the SATplan approach,and Integer Programming formulations and techniques.Section3discusses the formulation of AI planning problems as Integer Programs,and Section4provides a discussion of the issues that arise when solving the resulting Integer Programs.We conclude with an overview of future research directions.2BackgroundIn this section,we define the STRIPS representation for AI planning,discuss the SATplan approach to solving STRIPS planning problems,and give a brief overview of Integer Programming formulations and techniques.2.1STRIPS representationFor our purposes,a STRIPS-style planning problem is a triple R=(S,G,O)as defined below:•S,the initial state,is afinite collections of ground atoms of somefirst-order language L.Intuitively, S is a conjunct that tells us which ground atoms are true at the beginning of the planning problem: if a ground atom A is in the state S,then A is true in the state S,and if B/∈S,then B is false in the state S.Thus,S is simply an Herbrand interpretation(cf.[Shoenfield,1967])for the language L, and hence each formula offirst-order logic is either satisfied or not satisfied in S according to the usual first-order logic definition of satisfaction.•G,the goal condition,is a conjunction of ground atoms in L.G represents the conditions that we want to be true at the end of the planning problem.•O is a set of planning operators.Each planning operator o∈O is a4-tuple(Name o,Pre o,Del o,Add o), where:–Name o,the name of the operator,is a syntactic expression of the form o(X1,...,X n)where eachX i is a variable symbol of L.–Pre o,the precondition list,is afinite set of literals(i.e.,atoms and negated atoms)such that eachvariable symbol is in the list X1,...,X n given above.Pre o gives the conditions that a state mustsatisfy in order for the operator to be applicable to that state.–Del o,the delete list,is afinite set of atoms such that each variable symbol is in the list X1,...,X ngiven above.Pre o gives the conditions that the operator will delete when we apply it to a state.–Add o,the add list,is afinite set of atoms such that each variable symbol is in the list X1,...,X ngiven above.1Pre o gives the conditions that the operator will add when we apply it to a state.Just as with the initial state,each of the sets Pre o,Del o,Add o is taken to be a conjunct.2An action(also sometimes called a step)is a ground instanceα=(Nameα,Preα,Delα,Addα)of any planning operator o∈O.Ifαis an action and S satisfies Pα,thenαis applicable to a state S,and the result of applyingαto s is defined to be the following state:result(S,α))=(S−Dα)∪Aα.Given a planning problem(S,G,O),a plan is a sequence(α1,...,αk)of actions.The plan is applicable to the state S if the following state is defined:R=result(result(...(result(result(S,α1),α2),...),αk−1),αk).If the plan is applicable to S,then it solves the planning problem(S,G,O)if the state R satisfies the goal condition G.Note that in the STRIPS formulation,the notion of time is very simple:time consists of afinite sequence of time instants(0to n),each action takes exactly one unit of time to perform,and only one action can be performed at each time instant.A simple example of a planning problem using the STRIPS representation is the so-called rocket domain (see[Blum and Furst,1997]).The rocket domain has three operators:Load,Unload,and Move.A piece of cargo can be loaded into the rocket if the rocket and the cargo are in the same location.A rocket may move if it has fuel,but performing the move operation uses up the fuel.The operators may be defined as follows: Name:MOVE(R,X,Y)Pre:AT(R,X),HAS-FUEL(R)Del:AT(R,X),HAS-FUEL(R)Add:AT(R,Y)Name:LOAD(R,X,C)Pre:AT(R,X),AT(C,X)Del:AT(C,X)Add:IN(C,R)Name:UNLOAD(R,X,C)Pre:AT(R,X),IN(C,R)Del:IN(C,R)Add:AT(C,R)A typical problem might have one or more rockets and some cargo in a start location with a goal of moving the cargo to some number of destinations.1In some recent versions of the STRIPS operator representation(e.g.,[Weld,1999]),the Add and Del lists are combined into a single list of literals called the“Effects”list,in which positive literals represent additions and negative literals represent deletions.However,that representation is basically equivalent to the one we are using here.2The original STRIPS planning system[Fikes and Nilsson,1971]allowed some of these sets to be more general logical expressions rather than just conjuncts;but this capability was disallowed in subsequent versions of STRIPS[Nilsson,1980].2.2SAT-based planning systemsIn recent years,satisfiability testing has become one of the most successful methods for solving state-space planning problems[Weld,1999].Kautz and Selman[1996]showed using their SATplan planner,that for a wide range of planning problems,compiling a problem into a propositional logic,and solving it using a general randomized SAT solver is competitive with,or superior to,solving the problem with the best specialized planning systems.Two main factors contributed to the success of SATplan:•The particular conventions on how to represent a planning problem in propositional logic(the“encod-ing”).•The use of new general powerful SAT solvers,such as Walksat[Selman,Kautz,and Cohen1996],for solving the propositional logic representation of the planning problem.Since1996,SAT-based planners have continued to improve,benefiting from a continuous progress in the performance of general SAT engines,and from improved ways to encode the planning problem in propositional logic.The next sub-sections describes briefly how a planning problem can be encoded in propositional logic, and which kind of SAT solvers are being used nowadays in SAT-based planners.For a more detailed survey see[Weld1999].2.2.1Encoding a Planning Problem in Propositional LogicMost propositional-logic encodings of planning problems are based on the STRIPS-style planning problems described in Section2.1,with one important difference.In the STRIPS representation of a plan,one action can be performed at each time instant.However,in most propositional-logic representations,more than one action can be performed at the same time,as long as the actions do not conflict with each other(i.e.,if they do not assert contradictory effects,and the effects of one do not negate the preconditions of the other). Thus,the length of a plan(the number of time units required to perform it)may differ from the number of actions in the plan.To encode a planning problem in propositional logic,the basic idea is to start with a STRIPS-style problem description,and create a propositional formula that includes encodings of the initial state and the goal,axioms describing the preconditions of the actions that might occur at each time instance,axioms describing what will change and what will remain the same if those actions are performed,and a statement that a plan of length n exists for some n.Thus the formula will be satisfiable if a plan of length n exists; and in this case,the truth values of the propositions will tell what the plan is.The planning system starts with encoding the problem for an initial plan length n0and invokes a SAT engine to solve the propositional logic problem.If no solution is found for n0the planner increases incrementally the length of the plan that is being searched,until a plan is found.In the basic encoding(the regular encoding),a logical variable represents either an action occurring at a specific time(e.g.,fly(airplane1,BWI,JFK,3))or a time-varying condition(fluent)holding at a a particular time(e.g.,at(airplane1,JFK,4)).3An action starts at the specified time instance t and ends at the next time instance,where t∈0,...,n−1.Afluent corresponds to a time instance t∈0,...,n.The number of variables representing actions can be reduced by using an alternative action representation such as simple action splitting[Kautz and Selman,1996],overloaded splitting or bitwise representation [Ernst,Millstein,and Weld,1997].However,these representations usually limit the ability to have parallel actions in the plan.The encoding includes a set of axioms,defined over the action andfluent variables,to express the following features of a planning problem:•The initial state and goals.These indicate whichfluents are true and which are false at time0,and whichfluents should be true at time n.•Action schemata.The execution of a ground action at time t implies that its preconditions hold at time t,and its effects hold at time t+1.For example,the action offlying airplane1from BWI to JFK 3AI researchersfirst used the term“fluent”to refer to an object or condition X whose value varies over time(cf.[Russell and Norvig,1995]).However,in the literature on satisfiability methods for planning,has become common to use the term “fluent”to refer to the instance X t of X at the time t.Thus,that is what we do here.at time t implies that at time t airplane1is at BWI,and at time t+1it is at JFK but not at BWI.Thus,we get the following axiom∀t∈0,...,n−1:fly(airplane1,BW I,JF K,t)⇒at(airplane1,BW I,t)∧¬at(airplane1,BW I,t+1)∧at(airplane1,JF K,t+1)•Frame axioms.These describe whatfluents will not change actions occur,as described below.Frame axioms are expressed either by classical frame axioms or by explanatory frame axioms.Classical frame axioms[McCarthy and Hayes,1969]declare whichfluents are left unchanged by each action.Ex-planatory frame axioms[Haas,1987]specify the the set of actions that could have occurred in order to achieve a state change.For example,having airplane1at time t+1in JFK,but not having it in JFK at time t implies that airplane1flew from some other airport to JFK at time t:¬at(airplane1,JF K,t)∧at(airplane1,JF K,t+1)⇒fly(airplane1,BW I,JF K,t)∨···∨fly(airplane1,Reagan,JF K,t) Explanatory frame axioms have the advantage that they permit parallelism:several actions may occur si-multaneously.Conflict exclusion axioms should be specified to prevent contradicting actions from occurring at the same time.For example,airplane1cannot performflights to JFK from Dulles and BWI at the same time,thus,either it does not perform the BWI–JFKflight or it does not perform the Dulles–JFKflight:¬fly(airplane1,BW I,JF K,t)∨¬fly(airplane1,Dulles,JF K,t)Empirical results[Ernst,Millstein,and Weld,1997]showed that in most cases explanatory frame axioms with conflict exclusions are superior to classical frame axioms.Kautz and Selman suggested several additional encodings:•The Graphplan-based encoding[Kautz,McAllester,and Selman1996],which is similar to the com-bination of the regular representation of actions and explanatory frame axioms.In this encoding actions imply their preconditions,but there are no axioms in which actions imply their effects.The Graphplan-based encoding is used by the Blackbox planner[Kautz and Selman,1998].Blackbox con-structsfirst a planning graph[Blum and Furst,1997]and then converts the graph into a CNF.In that way the planner benefits from the powerful simplification algorithm employed by Graphplan to construct the graph,prior to invoking the SAT engine.As a result,Blackbox is currently one of the fastest planners.•The state-based encoding,in which variables corresponding to actions are eliminated[Kautz and Selman 96].•The causal-encoding,which is based on a representation used by partial-order planners[Kautz,McAllester, and Selman1996].As shown by[Huang,Selman,and Kautz,1999],declarative domain specific control knowledge can be added to the encoding of the planning problem to speed-up the planning process.2.2.2SAT SolversGeneral purpose SAT solvers,are used to solve the propositional-logic representation of the planning problem.A short survey of SAT solvers appears in[Weld,1999].In brief,SAT solvers can be classified according to their search method:systematic or stochastic.Systematic solvers are complete while stochastic solvers are not.Satz[Li and Annbulagan,1997]is one of the fastest systematic solvers available.It is based on the DPLL algorithm[Davis et.al.,1962],but uses more sophisticated heuristics for selecting the next variable to branch on.Blackbox also uses a randomized version of Satz,which in fact substantially improved its performance[Gomes et al.,1998].Currently,Walksat[Selman,Katz,and Cohen,1996]is one of the fastest stochastic search algorithms for satisfiability testing.It searches locally,and uses random moves to escape from local minima.2.3Integer ProgrammingA mixed integer program can be represented asMin cx(0)subject to:Ax≥b(1)x1,...,x p∈Z+(2)x p+1,...,x n∈R+(3)where A is a(m×n)matrix,b a m-dimensional column vector,c a n-dimensional row vector,and x a n-dimensional column vector.If x1,...,x p∈{0,1},we get a mixed0-1program.A vector x∗which satisfies constraints(1)-(3)is called a feasible solution.If x∗furthermore minimizes the objective function(0),it called an optimal solution and cx∗the optimal value.(Mixed)Integer Programming has a long history in thefield of Operations Research.It provides a very rich modeling capability,and a large number of problems in resource allocation,facility location, distribution,production,reliability and design have been represented by mixed integer programming models (see[Nemhauser and Wolsey,1988]).A key notion in solving Integer Programs is the linear relaxation of the mixed integer program,in which the integrality constraints are omitted,i.e.Min cxsubject to:Ax≥bx1,...,x n∈R+Solving the LP relaxation,which can be done efficiently in practice,may guide solving the Integer Program. In fact,one of the basic results in Integer Programming Theory states that every Integer Program can be represented by a set of constraints such that the LP relaxation willfind the optimal(integer)solution.This “ideal”formulation of the Integer Program corresponds to the convex hull of the set of feasible(integer) solutions.(see[Wolsey,1998]for more details on this concept).In practice however,using the convex hull formulation is hardly ever ually it is very hard to characterize the convex hull and moreover,an exponential number of inequalities might be required to characterize the convex hull.While using the convex hull formulation is normally not possible,it is desirable tofind“strong”formu-lations,in the sense that the LP relaxation closely approximates the convex hull of the Integer Program.In particular,given two formulations{min cx|A1x≥b,x∈Z n}and{min cx|A2x≥b,x∈Z n},formulation 1is stronger than formulation2if{x∈R n|A1x≥b,x≥0}⊆{x∈R n|A2.x≥b,x≥0}.Stronger formulations are more likely to yield integer solutions and produce better lower bounds for the optimal value of the integer program.The most effective current approach for solving general integer programs uses the LP relaxation together with branch and bound algorithms.Therefore,the key to the effectiveness of the LP relaxation lies in improving the underlying tree search.The LP relaxation is typically solved at every node in the search tree.Search can be terminated at a node1)if LP relaxation value indicates that further search could only uncover solutions with objective function values inferior to the best known,2)if the LP is infeasible,which in turn implies the integer program is infeasible and3)if the LP yields an integer solution.Another role the LP relaxation plays is that it provides information useful in deciding which variables to branch on.Since stronger formulations will give better lower bounds and are more likely to yield integer solutions,they have the potential of greatly reducing the number of nodes in the search tree.3Integer Programming Formulations for AI planningIn this section,we discuss various formulations for the AI planning problem using the STRIPS representation. In formulating the IP models,we shall use the following sets•pre f⊆A for all f∈F.pre f represents the set of actions which havefluent f as a precondition;•add f⊆A for all f∈F.add f represents the set of actions which havefluent f as an add effect;•del f⊆A for all f∈F.del f represents the set of actions that deletefluent f.3.1SATplan-based IP formulationsSince propositional clauses can easily be expressed as linear inequalities,it is straightforward to express SATplan encodings as Integer Programming Models.So,as afirst attempt we applied this conversion to the Graphplan-based propositional encoding.This is the regular encoding described in Section2.2.1,which includes axioms for the initial state and the goals,action schemata axioms which express that a ground action implies its preconditions,explanatory frame axioms,and conflict exclusion axioms.The resulting formulation is summarized as follows:Variables For all f∈F,i∈1,...,t+1,we havefluent variables,which are defined asx f,i=1iffluent f is true in period i, 0otherwise.For all a∈A,i∈1,...,t,we have action variables,which are defined asy a,i=1if action a is carried out in period i, 0otherwise.We remark that the action variables include the“no-op”maintain operators from Graphplan for each time step and fact,which simply have that fact both as a precondition and as an add effect.“no-op”actions are necessary to propagate thefluent values.Constraints The constraints are separated into different classes,which can be outlined as follows:•Initial/Goal State Constraints These constraints set the requirements on the initial andfinalperiod,i.e.x f,1=1if f∈I, 0if f/∈I.x f,t+1=1if f∈G.•Precondition Constraints Actions should imply their preconditions,which is expressed as follows.y a,i≤x f,i∀a∈pre f,i∈1,...,t.•Explanatory Frame Conditions Backward chaining is expressed asx f,i+1≤a∈add fy a,i∀i∈1,...,t,f∈F.•Conflict Exclusion Constraints Actions conflict if one deletes a precondition or add effect of the other.The exclusiveness of conflicting actions is expressed asy a,i+y a ,i≤1,for all i∈1,...,t,and all a,a for which there exist f∈F such that a∈del f and a ∈pre f∪add f.。

相关文档
最新文档