基于menge的人群仿真技术开发(初级)

    最近在进行仿真技术开发,希望把自己的开发历程记下来,欢迎大家交流。

    我是基于menge开发的,官网地址:http://gamma.cs.unc.edu/Menge/(貌似需要翻墙,学计算机的应该问题),官网有对menge进行详细的介绍,并有一些简单的例子供大家学习。按照官网的说明文档都可以下载并使用menge,但是自己在刚开始因为一些问题困扰了一些时间(自己太笨,没救了~),于是打算写这篇教程,此教程是根据官网的教程大致翻译而来,供大家交流。在使用menge前建议先阅读官网的论文,论文相信说明了menge的结构,并介绍了它的事件机制,有利于后续开发者定制自己的仿真系统。

    官网上的安装地址:http://gamma.cs.unc.edu/Menge/learn/gettingStarted.html,根据这个地址下载程序压缩包。下载压缩包之后要在VS中打开相应版本的menge。

1、打开VS2012,在开始界面选择打开已有项目,F:\Menge-master\projects\VS2012\Menge\menge12.sln,这样就把文件加载到了VS2012中,加载完之后,build整个工程。build完成之后,按照官方教程再以相同的步骤build plugins.sln,也就是F:\Menge-master\projects\VS2012\Plugins中的Plugins12.sln。在这个过程中,我build menge12.sln,没有问题,但是我build Plugins12.sln的时候就失败,报错缺少一个动态链接库。于是各种途径想解决这个问题,还给论文作者去了emil

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
请帮我看看这个sql语句是否正确,并改正:select a.ebeln, a.ebelp, a.art, a.kdauf, a.zbw, a.size1, a.txz01, a.menge, b.quantity, (a.menge - b.quantity) as OWE_MATERIAL, ( select sum(THIS_PLAN_QTY) as HAVE_PLAN , a.ebeln , a.ebelp , a.kdauf from SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c , SCM_PROCESS_PURCHASE_ORDER_D a group by c.order_no , c.order_seq , c.sales_order , a.ebeln , a.ebelp , a.kdauf having c.order_no = a.ebeln And c.order_seq = a.ebelp And c.sales_order = a.kdauf ) , ( select a.menge - t.HAVE_PLAN as OWN_PLAY from (select sum(THIS_PLAN_QTY) as HAVE_PLAN , c.order_no , c.order_seq , c.sales_order from SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c , SCM_PROCESS_PURCHASE_ORDER_D a group by c.order_no , c.order_seq , c.sales_order , a.ebeln , a.ebelp , a.kdauf having c.order_no = a.ebeln And c.order_seq = a.ebelp And c.sales_order = a.kdauf ) t , SCM_PROCESS_PURCHASE_ORDER_D a where a.ebeln = t.order_no and a.ebelp = t.order_seq and a.menge = t.sales_order ) , d.scan_qty, (d.quantity - d.scan_qty) as OWN_PRODUCE, e.scan_qty, (e.quantity - e.scan_qty) as OWE_SHIP from SCM_PROCESS_PURCHASE_ORDER_D a left join MMS_INOUT_BILL_M b On a.ebeln = b.purchase_order_number And a.ebelp = b.purchase_order_seq And a.kdauf = b.sales_order left join SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c on a.ebeln = c.order_no And a.ebelp = c.order_seq And a.kdauf = c.sales_order left join SCM_PROCESS_OUTPUT d on a.ebeln = d.order_no And a.ebelp = d.order_seq And a.kdauf = d.sales_order left join SCM_OUTSOURCE_SHIP e on a.ebeln = e.qr_code and a.ebelp = e.order_no and a.kdauf = e.order_seq where a.art = 'IE7181' Order by a.ebeln desc, a.ebelp;
05-24
这个 SQL 语句比较复杂,但是有一些问题需要修改: - 在子查询中,需要将 select 子句中的 a.ebeln, a.ebelp, a.kdauf 与 group by 子句中的字段保持一致,否则会出现错误。 - 子查询中的第一个 SELECT 子句需要加上 WHERE 子句,限制查询条件。 - 子查询中的第二个 SELECT 子句中的 a.menge 应该改为 t.sales_order。 - 在最后的 SELECT 子句中,d.scan_qty 与 e.scan_qty 都没有明确指定表名,可能会出现错误。 以下是修改后的 SQL 语句: ``` SELECT a.ebeln, a.ebelp, a.art, a.kdauf, a.zbw, a.size1, a.txz01, a.menge, b.quantity, (a.menge - b.quantity) AS OWE_MATERIAL, ( SELECT SUM(c.THIS_PLAN_QTY) AS HAVE_PLAN, a.ebeln, a.ebelp, a.kdauf FROM SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c, SCM_PROCESS_PURCHASE_ORDER_D a WHERE c.order_no = a.ebeln AND c.order_seq = a.ebelp AND c.sales_order = a.kdauf AND a.art = 'IE7181' GROUP BY c.order_no, c.order_seq, c.sales_order, a.ebeln, a.ebelp, a.kdauf ), ( SELECT a.menge - t.sales_order AS OWN_PLAY FROM ( SELECT SUM(c.THIS_PLAN_QTY) AS HAVE_PLAN, c.order_no, c.order_seq, c.sales_order FROM SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c, SCM_PROCESS_PURCHASE_ORDER_D a WHERE c.order_no = a.ebeln AND c.order_seq = a.ebelp AND c.sales_order = a.kdauf AND a.art = 'IE7181' GROUP BY c.order_no, c.order_seq, c.sales_order, a.ebeln, a.ebelp, a.kdauf ) t, SCM_PROCESS_PURCHASE_ORDER_D a WHERE a.ebeln = t.order_no AND a.ebelp = t.order_seq AND a.kdauf = t.sales_order AND a.art = 'IE7181' ), d.scan_qty, (d.quantity - d.scan_qty) AS OWN_PRODUCE, e.scan_qty, (e.quantity - e.scan_qty) AS OWE_SHIP FROM SCM_PROCESS_PURCHASE_ORDER_D a LEFT JOIN MMS_INOUT_BILL_M b ON a.ebeln = b.purchase_order_number AND a.ebelp = b.purchase_order_seq AND a.kdauf = b.sales_order LEFT JOIN SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c ON a.ebeln = c.order_no AND a.ebelp = c.order_seq AND a.kdauf = c.sales_order LEFT JOIN SCM_PROCESS_OUTPUT d ON a.ebeln = d.order_no AND a.ebelp = d.order_seq AND a.kdauf = d.sales_order LEFT JOIN SCM_OUTSOURCE_SHIP e ON a.ebeln = e.qr_code AND a.ebelp = e.order_no AND a.kdauf = e.order_seq WHERE a.art = 'IE7181' ORDER BY a.ebeln DESC, a.ebelp; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值