首页 > 其他分享 >FIT5216:离散优化问题

FIT5216:离散优化问题

时间:2024-03-23 17:55:23浏览次数:28  
标签:12 发送到 部分 模型 位置 离散 陷阱 优化 FIT5216

FIT5216:离散优化问题建模课业1:动物捕捉
1概述
对于这项任务,您的任务是为给定的问题规范编写一个MiniZinc模型。•将您的作品提交到MiniZinc自动评分系统(使用中的提交按钮MiniZinc IDE)。
您必须在截止日期(2024年3月22日星期五晚上11:55)前提交,使用MiniZinc获得满分。您可以在截止日期前随时提交。逾期提交在没有特殊考虑的情况下,天将收到可用分数的10%的罚款。提交的资料在原始截止日期后7天内不接受。是一项个人课业。你的投稿必须完全是你自己的作品。我们
将使用相似性检测软件来检测任何共谋企图,处罚为相当苛刻。请注意,我们将把您保存的所有模型与其他模型进行比较。您可以不使用
大型语言模型,如ChatGPT,用于此任务的任何部分。如有疑问,请联系你的教学团队有任何问题!该评估的学习成果包括:
•使用基本建模和更高级建模相结合的方法对离散优化问题进行建模高级建模语言中的技术;
•识别并修复模型中的错误;
2问题陈述
你负责在森林地区建立一个动物监测项目。你需要建立一个摄像头陷阱的无线网络,以检测尽可能多的野生动物预算限制。输入数据采用MiniZinc数据格式:LOC=⟨可以放置陷阱和基地的位置集⟩;代 写FIT5216base=⟨您收集信息的基本位置⟩;n=⟨可使用的相机陷阱的数量⟩;野生动物=⟨每个位置的野生动物密度⟩;cost=在每个位置设置陷阱的成本⟩;d=从每个位置到另一个位置的距离矩阵;move=⟨动物移动距离⟩;=⟨无线链路距离⟩;mind=⟨两个陷阱之间的最小距离⟩;每个陷阱的操作成本;预算=⟨建立系统的预算⟩;
1.
请注意,基地位置总是LOC中的第一个。如果在某个位置设置陷阱的成本为如果是否定的,那么我们就不能在那里设下陷阱。
以下是一个示例数据集:LOC={碱基,A,B,C,D,E,F,G,H};
base=base;
n=3;
野生=[0,10,7,3,2,8,6,4,9];
成本=[0,6,4,5,-1,3,2,2,4];
d=[|0,4,8,12,16,18,19,14,5
| 4, 0, 5, 9, 12, 17, 20, 7, 9
| 8, 5, 0, 5, 8, 12, 14, 15, 12
|12, 9, 5, 0, 3, 6, 8, 10, 11
|16, 12, 8, 3, 0, 9, 2, 6, 8
|18, 17, 12, 6, 9, 0, 5, 8, 15
|19, 20, 14, 8, 2, 5, 0, 8, 12
|14, 7, 15, 10, 6, 8, 8, 0, 9
| 5, 9, 12, 11, 8, 15, 12, 9, 0 |];
move=7;
链接=6;
心智=3;
opcost=8;
预算=26;
有9个地点,第一个地点是行动基地,那里不能有相机陷阱放置。有三个相机陷阱可供使用。每个地点都有野生动物密度和在那里设置陷阱的成本。请注意,由于D的成本为-1,我们无法设置陷阱那里距离矩阵是对称的,对角线上有0(到一个位置的距离自其本身总是0)。动物可以移动到距离7,而无线链路的范围为6。每对存水弯必须放置在相距至少3米的位置。每个存水弯的操作成本为8运营和建立该系统的总预算为26。
有两个决定要做
var LOC:x的数组[0.n];%放置陷阱的位置,但x[0]=基础
var 0..n:s的数组[1.n];%发送位置(仅用于C部分)
其目的是覆盖尽可能多的野生动物。如果某个位置有陷阱,则该位置被“覆盖”位置最多从此位置移动。A部分-使用所有陷阱创建一个模型animal.mzn,该模型以上面指定的格式获取数据,并准确地决定n个不同的相机陷阱位置。目前,我们忽略了预算限制。因此,目标是在x[1..n]中选择n个不同的位置。第0个位置必须设置为基准并且没有其他位置设置为基准。对于部分A和部分B,只需为所有i设置s[i]=0。请记住,您可以使用表达式d[u,v]来查找两个位置之间的距离,甚至如果位置u和v是决策。您需要决定覆盖哪些地点,以及2.您可能需要构建一个辅助决策变量来存储这些信息,或者对每个信息进行计数位置多少陷阱覆盖它。这是一个溶液样本。
x=[0:底座,1:H,2:C,3:A];
s=[0,0,0];
total_wild=43;
我们选择在位置{A,C,H}放置陷阱。此设置覆盖的野生动物总数是43,是位置{A、B、C、D、E、G、H}(在其中一个陷阱的7个范围内)的野生动物。请注意,没有两个存水弯的间距小于3,并且在具有负成本。请注意,仅仅回答A部分是无法获得很多分数的。有些问题将没有解决方案,而使用部分B,他们有解决方案。
B部分-可能使用更少的陷阱修改你的模型animal.mzn,将n视为最大可能数量的设备的边界。
我们将使用基准位置作为伪值。所以如果x[i]=基数,那么这表示没有陷阱放置。我们必须强制所有伪位置位于x数组的末尾(除了x[0]=始终为基数)。
现在你必须考虑到预算限制:即陷阱的总运营成本安装加上安装成本不得超过预算。请注意,您应该尽量只使用一种方式来表示每一组可能的安装的存水弯。这通常会使模型更有效率。这是B部分的溶液样本。
x=[0:基础,1:B,2:F,3:基础];
s=[0,0,0];
total_wild=36;
现在我们只在位置{B,F}放置陷阱。x数组中的最后一个条目表示我们没有放置第三个陷阱。覆盖的野生动物总数为36种,为{A、B、C、D、E、F}位置的野生动物(在其中一个陷阱的7个范围内)。这两个陷阱相距14个,远远超出了最小值距离使用的总预算为16的运营成本(运行两台摄像机)加上4+2=6的设置成本,在26的预算范围内。请注意,上一个解决方案的总成本{A,C,H}×8+6+5+4=39。注意,你不能只回答A和B部分就获得满分,但你可以获得好成绩。要获得满分,你需要正确完成C部分,但它的设计具有挑战性。
C部分-连接网络
相机陷阱必须将照片发送到基地,系统才能工作。要做到这一点,每个trap必须将其信息直接发送到基地,或者发送到另一个trap,然后在进一步的信息。为了表示这个网络,我们使用s[i]来表示位置(从0到n)我的相机在哪里第th个地方发送其信息。请注意,发送到位置0表示3.发送到基站(x[0]=基站)。为了确保网络是一棵树,我们要求我发送信息的位置比我小。注意,我们需要位置发送和接收信息不过是一条链路。对于x[i]=base的伪位置i,我们应该将发送位置设置为0,但没有距离限制,因为我们实际上并没有设置相机。C部分的解决方案由下式给出
x=[0:基础,1:A,2:B,3:基础];
s=[0,1,0];
total_wild=24;
同样,我们只在{A,B}处使用两个相机陷阱。A处的陷阱将其信息发送到位置0,在距离4处;而B处的陷阱将其信息发送到距离5处的位置1,A(然后由A发送到基地);因此满足了链路约束。请注意,前面的解决方案{B,F}不再有效,因为F与BASE相距19,与B相距14,因此没有发送链路
可用。覆盖的野生动物总数为24种,由{A、B、C、G}组成。预算限制是满足成本2×8+6+4=26。
3说明
编辑提供的mzn模型文件以解决上述问题。为您提供一些示例数据文件可以用来尝试您的模型。您的实现可以通过使用MiniZinc IDE中的Run+check图标。请注意,此分配的检查器将仅测试您的模型是否以所需的格式生成输出,它不会检查您的解决方案是正确的。服务器上的评分员会给你反馈你的提交的解决方案和模型。
4标记
标记是自动计算的。只有A部分,你可以获得几个满分实例,大多数将获得0。有了A部分和B部分,你可以在很多情况下获得满分,
否则最大值为0.75。自动分级器将实例分级为:0.25适用于任何解决方案,0.5适用于一个合理的解,0.75表示一个好的解,满分表示最优解。因为C部分添加了可以删除解的约束,而忽略C部分的B部分解可能会给出超最优答案(违反C约束),这些答案将获得最多0.75分。到得到最大的分数你的模型必须是有效的和正确的。提高效率的方法是
•确保只有一种(或至少尽可能少的)方式来表示相同解决方案(放置一组陷阱)。
•以最简单的形式表达您需要的约束条件提交的本地测试数据和模型测试分别得10分和10分,共计20分标志。对于模型测试,您将只能获得每次测试的分数反馈,而不能请参阅测试数据。集中精力让本地测试的数据首先工作,因为这更容易以进行调试

标签:12,发送到,部分,模型,位置,离散,陷阱,优化,FIT5216
From: https://www.cnblogs.com/rluanguae/p/18091419

相关文章

  • pytorch 清除中间变量优化显存
    参考(这里面有各种方法):https://cloud.tencent.com/developer/article/2374407最近训一个程序,发现训了一半突然outofmemory了。正常来说,outofmemory第一个batch就应该出现了,而不是训练一半再报错,感觉有些中间变量没有回收的锅。通常情况下,数据先存在内存上,然后把每个......
  • 基于遗传优化的协同过滤推荐算法matlab仿真
    1.算法运行效果图预览   最后得到推荐的商品ID号:推荐商品的ID号:ans=983817582219111490214902123522473223071234991179015471655016550165......
  • B端系统优化:用好卡片式设计,效果立竿见影翻倍。
    B端系统中,卡片式设计是一种常见的界面设计风格,它将信息和功能组织成一系列独立的卡片,每个卡片通常包含一个特定的信息块或功能模块。一、卡片式设计的特点包括:模块化和可重用性:卡片可以被独立设计和开发,然后在界面中进行组合和重复使用。这种模块化的设计可以提高开发效率,......
  • mysql常规优化
    1、通过慢查日志等定位那些执行效率较低的SQL语句2、explain分析SQL的执行计划需要重点关注type、rows、filtered、extra。type由上至下,效率越来越高ALL全表扫描index索引全扫描range索引范围扫描,常用语<,<=,>=,between,in等操作ref使用非唯一索引扫描或唯一索引前缀......
  • 综合能源系统多时间尺度优化调度研究综述
    1.研究背景        随着全球能源需求的增长以及环境保护的压力,综合能源系统(IES)成为了实现能源可持续发展的关键方案之一。IES通过集成多种能源资源,优化能源的产、供、存、消过程,提高能源利用效率,减少环境污染。然而,可再生能源的高度不确定性和负荷需求的波动为IES的优......
  • 性能测试过程中优化-3:
    在上篇中记录了压力机服务器配置调到了60核120G,但这个配置也是压测结果非常不稳定,同样场景多次压测试通过率与响应时间差异极大。意识到一味的提升配置,改jmeter内存大小 起不到相应的作用。依然绕不开单机压问的问题(1、单机端口不够用  2、带宽不够用3、负载过高,性能损......
  • 机器人路径规划:基于霸王龙优化算法(Tyrannosaurus optimization,TROA)的机器人路径规划(提
     一、机器人路径规划介绍移动机器人(Mobilerobot,MR)的路径规划是移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或局部已知的局部路径规划。随着科技的快速发展以及机器人的大量......
  • 快速排序的原理及其多种方法的实现和优化
    ✨✨✨学习的道路很枯燥,希望我们能并肩走下来!文章目录前言一、快速排序介绍二、快速排序实现的方法(升序)1.hoare版本:2.挖坑法3.前后指针法  三、快速排序的优化1.关于所排序的数据有序或接近有序的问题1.1随机取key方法1.2三数取中法2.关于递归深度过深导......
  • 常见优化器对比:梯度下降法、带动量的梯度下降法、Adagrad、RMSProp、Adam
    系列文章目录李沐《动手学深度学习》线性神经网络线性回归李沐《动手学深度学习》优化算法(相关概念、梯度下降法、牛顿法)李沐《动手学深度学习》优化算法(经典优化算法)文章目录系列文章目录一、梯度下降法(一)基本思想(二)梯度下降法的三种不同形式(三)优缺点二、带动量的......
  • SEM效果优化解决方案 CloudNEO为您提供过国内外SEM服务
    SEM效果优化解决方案在数字营销领域,搜索引擎营销(SEM)是一种有效的推广方式,能够帮助企业提升品牌知名度、吸引潜在客户并增加网站流量。然而,要获得良好的SEM效果,需要综合考虑多个因素,并采取有效的优化策略。以下是SEM效果优化的解决方案:1.关键词优化:选择适合的关键词是SEM效......