打孔机生产效能提高的数学研究毕业论文(编辑修改稿)内容摘要:

!=1){((char)ch)。 }这和 FileReader 并没有什么区别,事实上在 FileReader 中的方法都是从 InputStreamReader 中继承过来的。 read()方法是比较好费时间的,如果为了提高效率我们可以使用 BufferedReader 对Reader 进行包装,这样可以提高读取得速度,我们可以一行一行的读取文本,使用readLine()方法。 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream()))。 String data = null。 while((data = ())!=null) 打孔机生产效能的提高 第 9 页 共 27 页 {(data)。 } 当你明白了如何用 Reader 来读取文本文件的时候那么用 Writer 写文件同样非常简单。 有一点需要注意,当你写文件的时候,为了提高效率,写入的数据会先 放入缓冲区,然后写入 文件。 因此有时候你需要主动调用 flush()方法。 与上面对应的写文件的方法为: FileWriter fw = new FileWriter()。 String s = hello world。 (s,0,())。 ()。 OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream())。 (s,0,())。 ()。 PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream()),true)。 (s)。 不要忘记用完后关闭流。 下面是个小例子,帮助新手理解。 其实有的时候 java 的IO系统是需要我们多记记的,不然哪天就生疏了。 import .*。 public class TestFile2 {public static void main(String[] args) throws IOException {FileReader fr = new FileReader()。 char[] buffer = new char[1024]。 int ch = 0。 while((ch = ())!=1 ) {((char)ch)。 } InputStreamReader isr = new InputStreamReader(new FileInputStream())。 while((ch = ())!=1) {((char)ch)。 } 打孔机生产效能的提高 第 10 页 共 27 页 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream()))。 String data = null。 while((data = ())!=null) { (data)。 } FileWriter fw = new FileWriter()。 String s = hello world。 (s,0,())。 ()。 OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream())。 (s,0,())。 ()。 PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream()),true)。 (s)。 ()。 ()。 ()。 ()。 ()。 ()。 }} 附录 2 中有 上文中的具体程序及方法的解释:得到所有点的程序 getLists()全排列算法见 perm() ,计算每一种排列的距离方法为 getLen() , 得到最短距离的 方法 为getMinlen( )。 在运行时对要读取的那种孔型的文件路径修改即可。 如要读 A 孔的坐标应把路径从 C:\\lmj\\Problem\\src\\File\\ 改为 (注意:要用 \\ 这里一个 \是转义字符)“ HoleA 的绝对路径 \\” 对于问题二:为 提高 打孔机 效能 , 现在设计一 种 双钻头的打孔机 (每个钻头的形状 打孔机生产效能的提高 第 11 页 共 27 页 与单钻头相同) ,两钻头可以同时作业, 且作业是独立的,即可以两个钻头同时进行打孔,也可以一个钻头打孔,另一个钻头行进或转换刀具。 可以类比问题一,将一张电路板平均的分为左右或上下两部分,两个钻头各自在相应的区域内工作。 利用 算法如下:首先定义三个点集合 S、 L、 R S 是指某类孔 型的所有中心坐标的二维集合, L 是指在建立的坐标系的 y 轴的左方的所有点集合(初始为空), R 是指在建立的坐标系的 y 轴的右方的所有点集合(初始为空);然后将 S 中的点依次对 的 xi 正负进行判断,如果 x0i 则将该点添加到 L集合中,否则添加到 R 集合中。 利用附录 3 所给程序将 A~ J 孔型中所有点分成左右两部分即可。 然后两个钻头单个对两个区域各自进行单刀操作,路线与刀具的转换方式如问题一相同即可。 利用附录 1和附录 2所编制的计算 机程序可以计算出: 生产一张电路板中刀具旋转的最少总次数 n=11 (即:旋转方式为 c→d→e→f→g→h→a→b→c ) 最短总行径 : 1 2 3 4 5 6 7 8 9 102 2 2 2 3 2 2s                    旋转刀具时间: (1)t =n*τ 行进时间: (2)t =s/v 操作完整张电路板的过孔时间: (3)t = 101 *iii n  总耗时: t= 31 ()i ti 行进成本为 s*β 旋转钻头所产生的成本为 t(1)* α 总成本为 Ψ= s*β+ t(1)* α 由本题题意可知只需给出 Ψ的最小值即可。 打孔机生产效能的提高 第 12 页 共 27 页 6 模型求解 利用附录一中的程序计算出的结果 : n=11 利用附录二中的程序计算出最短路径 s 由题中信息得: α=7元 /min。 β= 元 /mm。 τ=18s。 v=180mm/s。 所以 得出钻头旋转所用时间为: t(1)=11*τ 打孔机操作一张电路板的总成本为: Ψ=11*7*18/60+*s 打孔机生产效能的提高 第 13 页 共 27 页 7 模型验证 对上述模型给予验证,不失一般性,不妨分别取每类孔型的前 6个中心坐标。 单刀作业: 将这些坐标输入到 JAVA 编程软件中并运行附录 2的程序,可计算出每类点间的最短行径分别为: 12345678910126700( 2) / 125 208 6 / 180 695 3*mmmmmmmmmmmmmmmmmmmmS mmt S sSn   * * 125 208 6 * 11 *18 * 7 / 60 751 274 .679 6    (元) 双钻头作业: 将这些坐标输入到 JAVA 编程软件中并运行附录 3的程序,可将这些点 分成两个区域。 然后类似上面的做法可算出两个钻头的作业成本分别为: 12( 2 ) ( ) / ( 4 3 5 3 4 4 1 .3 3 6 7 7 4 7 4 .6 2 ) / 1 8 0 4 4 6 1 6 .2t S S s     1212     (元) 由结果可以看出双钻头工作效率要比单钻头的工作效率有了明显的提高。 打孔机生产效能的提高 第 14 页 共 27 页 8 模型的评价与改进 对本题所建立的数学模型中所利用线性求解方法,大大的降低了本题难度,具有较强的科学性及逻辑性,层次清楚,便于理解。 不足之处在于附录 1中所编制的 Visual Basic程序只是考虑到部分实际钻头工 作情况,所以导致有些刀具转换方式有所遗漏;附录 3,因为现有的知识有限所以导致编制的 java 程序较为繁琐,运行较为艰难(即:要求电脑配置较高情况下,可顺利求解)所以该模型较适合基础实施较高的企业。 打孔机生产效能的提高 第 15 页 共 27 页 9 参考文献 [1]杨明 . Visual。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。