优化设计(暴搜+退火+Rp)

优化设计(opt)

Description

生活中总有些事情不能两全,所谓“鱼和熊掌”说的便是这个意思。小N在最近一个设计中正面临着这样的问题而头痛不已:出于居住环境的考虑,楼间距离应该较大,而为了节约土地资源却应减小楼间距离;朝南的房间应该选择起居室还是卧室;等等……。

    为了最优化设计方案,小N决定将问题进行建模,将参数的选择抽象为布尔变量,将各种要求抽象为布尔表达式。目标即为选择参数的设置使得被满足的要求尽量多,对应的,在模型中选择布尔变量的一个赋值使得被满足的布尔表达式尽量多。现在请你帮助小X设置方案中的参数,使得设计方案尽可能优化。

    下面将形式化地描述小X的模型。模型包含n 个布尔变量x1, x2, …, xn 和m个布尔表达式E1, E2, …, Em。布尔变量的一个赋值为从{x1, x2, …, xn}到{True,False}的一个映射。一个布尔表达式E 被满足指该表达式值为真(True).

    布尔表达式包含与(&)、或( | )、非( ~ )三种类型运算,可归纳定义如下:

    基础:

        1) 单个布尔变量 xi 组成一个布尔表达式E。E 被满足当且仅当xi 取值为真。

    归纳:

        1) 若E是合法布尔表达式,则E’=(E)也是布尔表达式。E’被满足且仅当E被满足。

        2) 若E是合法布尔表达式,则E’= ~E 也是布尔表达式。E’被满足当且仅当E 不被满足(即取值为假)。

        3)若 E1、E2 是合法布尔表达式,则E’=E1&E2 也是布尔表达式。E’被满足当且仅当E1、E2 均被满足。

        4) 若 E1、E2 是合法布尔表达式,则E’=E1|E2 也是布尔表达式。E’被满足当且仅当E1 被满足或E2 被满足。

    所有合法布尔表达式均由以上规则产生。一些合法布尔表达式的例子为:x1&~x2,(x1&~x2)|x3。布尔表达式的运算符优先级由高到低分别为非、与、或。举例说明,表达式x1&~x2|~x3 等价于(x1&(~x2))|(~x3),即非运算优先计算,与次之。

    在本题中,目标即为找到一组赋值,使得给定的m个布尔表达式中被满足的表达式尽可能多。

Input

这是一道提交答案型试题,所有的输入文件opt*.in 都已在目录下。

对于每个输入文件,文件第一行包含一个整数n,表示布尔变量的个数。第二行为一个整数m,为布尔表达式的个数。接下来m 行,每行为一个布尔表达式,表达式格式同上述定义,并请参看输入文件(表达式中不含空格)。

Output

对于每一个输入文件,你需要在对应目录下给出对应的输出文件(主文件名不变,扩展名为.out)。

输出文件包含n 行,每行为0或1。第i行表示对第i个布尔变量的赋值(1表示赋值为True, 0 表示赋值为False)。

Sample Input

3

2

x1&x2&x3

~x1|x2

Sample Output

1

1

1

Hint

【数据规模和约定】

每个测试点单独评分。

对于每一个测试点,如果你给出的输出文件不合法,如文件格式错误、输出解不符合要求等,该测试点得0分。

否则设你输出的赋值能够使得k个表达式被满足,对于不同的测试点,我们还设有10个评分相关的常数c1 ≤c2 ≤ c3 ≤ c4 ≤ c5 ≤ c6 ≤ c7 ≤ c8 ≤ c9 ≤ c10,你在该测试点中的得分取决于下列约定:

如果k < c1,得0 分。

如果k ≥ c1,得1 分。

如果k ≥ c2,得2 分。

如果k ≥ c3,得3 分。

如果k ≥ c4,得4 分。

如果k ≥ c5,得5 分。

如果k ≥ c6,得6 分。

如果k ≥ c7,得7 分。

如果k ≥ c8,得8 分。

如果k ≥ c9,得9 分。

如果k ≥ c10,得10 分。

如果满足多个条件,取得分最大者为最终得分。


解答:

第1-2个点 n很小,2^n暴力

========================================

第3-10点,贪心+退火(随机化调整)+暴搜(搜了我1h)







内容概要:本文详细介绍了如何使用Matlab对地表水源热泵系统进行建模,并采用粒子群算法来优化每小时的制冷量和制热量。首先,文章解释了地表水源热泵的工作原理及其重要性,随后展示了如何设定基本参数并构建热泵机组的基础模型。接着,文章深入探讨了粒子群算法的具体实现步骤,包括参数设置、粒子初始化、适应度评估以及粒子位置和速度的更新规则。为了确保优化的有效性和实用性,文中还讨论了如何处理实际应用中的约束条件,如设备的最大能力和制冷/制热模式之间的互斥关系。此外,作者分享了一些实用技巧,例如引入混合优化方法以加快收敛速度,以及在目标函数中加入额外的惩罚项来减少不必要的模式切换。最终,通过对优化结果的可视化分析,验证了所提出的方法能够显著降低能耗并提高系统的运行效率。 适用人群:从事暖通空调系统设计、优化及相关领域的工程师和技术人员,尤其是那些希望深入了解地表水源热泵系统特性和优化方法的专业人士。 使用场景及目标:适用于需要对地表水源热泵系统进行精确建模和优化的情景,旨在找到既满足建筑负荷需求又能使机组运行在最高效率点的制冷/制热量组合。主要目标是在保证室内舒适度的前提下,最大限度地节约能源并延长设备使用寿命。 其他说明:文中提供的Matlab代码片段可以帮助读者更好地理解和复现整个建模和优化过程。同时,作者强调了在实际工程项目中灵活调整相关参数的重要性,以便获得更好的优化效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值