[发明专利]一种高效计划制定程序的使用及计算方法在审
申请号: | 201410611376.6 | 申请日: | 2014-11-04 |
公开(公告)号: | CN105631571A | 公开(公告)日: | 2016-06-01 |
发明(设计)人: | 肖晨耕 | 申请(专利权)人: | 肖晨耕 |
主分类号: | G06Q10/06 | 分类号: | G06Q10/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410001 湖南省长沙市雨*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 计划 制定 程序 使用 计算方法 | ||
技术领域
本发明涉及应用程序,具体地说是一种高效计划制定程序的使用与计算方法。
背景技术
目前,已有一些计划制作(即对多个工作或学习的计划安排)的电脑软件或者手机应用程序,但是,它们的主要功能是录入使用者的工作或学习计划,然后让使用者进行安排。大致的形式有两种:1.记事本型,记录使用者输入的计划,完成后使用者可以将其勾除;2.闹钟型,与安装终端的时间关联,根据时间使用闹钟提醒使用者执行计划。而这些计划制作软件,只能起到记录和提醒的作用,并不能帮助使用者做出最为高效的安排选择。
发明内容
本发明所要解决的技术问题是:为弥补现有技术的缺陷与不足,开发一款软件,并利用其独特的任务计算方法,帮助用户制定一个最为高效的计划——在有限的时间内实现完成任务总价值最大化,用户使用时,只要输入计划的内容,再加入关于计划的时间和价值评估就可以得到最为合理的计划安排,同时还可以起到记录的作用。
本发明解决其技术问题所采用的技术方案是:
一种高效计划制定程序的使用及计算方法,其所采取的使用步骤及计算方法如下:
A、选择语言:程序用户输入语言选择,支持汉语和英语两种语言,大大地扩大了用户面;
B、输入:输入程序所需要的信息:用户的计划工作时长、任务数量以及每一个任务的名称、任务的时间和任务的重要性打分;程序使用整实型变量存储工作时长、任务数量、每一个任务的时间和任务的重要性打分,使用一个字符型二维数组,存储每一个任务名的字符串。程序在WindowsDOS环境下运行,输入存储十分快捷,可以在百万分之一秒内完成记录,操作流畅;
C、运算:根据输入的数据,计算在计划时间内所能完成的重要性的最大值,其具体实现的核心算法是动态规划的01背包算法,在算法内,把用户所拥有的时间作为背包,把工作任务作为要放入背包的物品,每个物品的价值则是每个任务的重要性,核心代码使用的是一维滚动数组进行动态规划运算。节省了程序运行空间,即使运算量再大也不会影响电脑的运行,对电脑的性能要求也很低。运算十分快捷,可以在1秒之内得出结果。具体的实现手段是,以一维数组(dp[241],因为最大时间长度为240分钟)的下标作为时间,数组里的每一个值在计算结束后存储的就是使用对应下标时间能够达到的最大重要性值。当一组数据录入时,得到当前任务的时间(tuse)和重要性(imp),此时遍历一次数组,当dp[i]<dp[i-tuse]+imp(i是遍历数组时用到的变量,指当前时间)时,说明如果执行当前任务,则工作时间i得到的重要性最大,为dp[i-tuse](当前时间减去完成当前任务的时间时能得到的最大重要性)与imp(当前任务的重要性)之和,因为dp[i-tuse]的值一定是最大的,所以得到dp[i]的值也一定是最大的,所以此时则可以把dp[i-tuse]+imp的值赋给dp[i];反之则继续循环直到遍历完整个数组则继续录入下一组数据;
D、记录:使用二维标记数组,在运算过程中记录每个计划的任务列表,并不断更新,如果有多个计划符合最佳结果时输出的是最后的一组。具体的实施方法是,当dp[i]<dp[i-tuse]+imp时,则需要更新当前时间i达到最大重要性值所要执行的任务列表。源代码中使用一个名为name[101][101]的字符型二维数组记录每一次任务名的输入,因为总任务数不超过100,而每个任务的名字长度不长于100,两个下标的含义为name[任务数][任务名]。并使用一个名为use[241][101]的整实型二维数组标记对应时间若需达到最大重要性是否需要使用某个任务,两个下标的含义为use[时间][任务数],假若在时间i需要使用到任务j,则进行赋值use[i][j]=1,use数组的初始值全为零,使用1表示使用任务,0表示不用任务。当第j个任务符合条件,需要把dp[i-tuse]+imp(imp为当前第j个任务的重要性)的值赋给dp[i]时,使用“memset(use,0,sizeof(use[i]));”的语句来重置use[i]这个时间所有任务的情况,再把use[i-tuse]的每一个值赋给use[i],最后把use[i][j]标记为1,组成新的任务列表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于肖晨耕,未经肖晨耕许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410611376.6/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理